2013-05-13 21 views
0

我有我的網頁上的兩個更新面板來顯示一些數據,這樣JavaScript的窗口區間沒有改變

<script language="javascript" type="text/javascript"> 
     window.setInterval(function() { 
      __doPostBack('<%= UpdatePanel1.ClientID %>', ''); 
      __doPostBack('<%= UpdatePanel3.ClientID %>', ''); 
     }, 2000); 
    </script> 

此刷新面板每兩個seconds.Problem是一個特定的時間後,我很爽快板我有一個gridview裏面一個孩子網格中的另一個功能,打開並使用加號和減號圖片關閉這樣

function divexpandcollapse(divname) { 
     var div = document.getElementById(divname); 
     var img = document.getElementById('img' + divname); 
     if (div.style.display == "none") { 
      div.style.display = "inline"; 
      img.src = "../Images/Minus.gif"; 
      window.setInterval(function() { 
       __doPostBack('<%= UpdatePanel1.ClientID %>', ''); 
       __doPostBack('<%= UpdatePanel3.ClientID %>', ''); 
      }, 20000); 
     } else { 
      div.style.display = "none"; 
      img.src = "../Images/Plus.gif"; 
      window.setInterval(function() { 
       __doPostBack('<%= UpdatePanel1.ClientID %>', ''); 
       __doPostBack('<%= UpdatePanel3.ClientID %>', ''); 
      }, 2000); 

     } 
    } 

我想2第二次增加回傳時間到20時,用戶clikc上的加號內gridivew,當再次點擊減號否定時應該再2 second.But通過下面的代碼它不是改變時間accordingly.can任何一個告訴我,正是我缺少這個方法裏面或者我應該要做額外得到我的幫助requirements.plz

+0

,所以我應該對我的要求 – user1915635 2013-05-13 12:32:50

回答

0

問題是你不清除可能已經連接任何間隔。你需要跟蹤時間間隔的,如果有一個,將其刪除。

<script language="javascript" type="text/javascript"> 

    var timer = window.setInterval(function() { 
     __doPostBack('<%= UpdatePanel1.ClientID %>', ''); 
     __doPostBack('<%= UpdatePanel3.ClientID %>', ''); 
    }, 2000); 
</script> 

function divexpandcollapse(divname) { 
    var div = document.getElementById(divname); 
    var img = document.getElementById('img' + divname); 
    if (window.timer) { 
     window.clearInterval(timer); 
    } 
    if (div.style.display == "none") { 
     div.style.display = "inline"; 
     img.src = "../Images/Minus.gif"; 
     timer = window.setInterval(function() { 
      __doPostBack('<%= UpdatePanel1.ClientID %>', ''); 
      __doPostBack('<%= UpdatePanel3.ClientID %>', ''); 
     }, 20000); 
    } else { 
     div.style.display = "none"; 
     img.src = "../Images/Plus.gif"; 
     timer = window.setInterval(function() { 
      __doPostBack('<%= UpdatePanel1.ClientID %>', ''); 
      __doPostBack('<%= UpdatePanel3.ClientID %>', ''); 
     }, 2000); 

    } 
} 
+0

做我必須點擊加號,然後兩次它正常工作accordiing的代碼,有什麼可以b是出的問題 – user1915635 2013-05-13 12:49:19

+0

是顯示實際上沒有? '的console.log(div.style.display);如果(div.style.display ==「無」){' – epascarello 2013-05-13 12:56:58

+0

有顯示爲無 – user1915635 2013-05-13 13:13:27