2012-08-12 76 views
0

我有一個功能是刷新div標籤的頁面。 Div標籤功能是刷新數據將收到。如何在div標籤刷新功能中保留塊文本?

到目前爲止沒關係。

當我使用鼠標阻止文本時,這將根據時間「20000」清除塊文本。這在JS腳本函數下面。

<script src='js/jquery.min.js'></script> 
<script> 
    $(document).ready(function() 
    { 
     $("#content2").load("post_rf.php"); 
     var refreshId = setInterval(function() 
     { 
      $("#content2").load('post_rf.php?randval='+ Math.random()); 
     }, 20000); 
     $.ajaxSetup({ cache: false }); 
    }); 
    </script> 

我想要做的是,如何保持塊文本在div刷新功能? 因爲某些用戶可能想要複製文本。在這種情況下,用戶必須在div刷新之前快速複製文本。

也許像facebook的例子發佈實時更新。

回答

0

當鼠標移出您的DIV時,您希望將您的間隔分配給一個變量,然後再次將鼠標移出setInterval時使用clearInterval。

var interval; 

$(div).bind("mouseout", function() { 
    interval = setInterval(refresh, 1000); 
}); 

$(div).bind("mouseover", function() { 
    clearInterval(interval); 
}); 

編輯

對不起,我張貼在手機上,它是很難寫代碼,這樣一來,試試這個:

<script src='js/jquery.min.js'></script> 
<script> 
    $(document).ready(function() { 
     $("#content2").load("post_rf.php"); 

     // set your initial interval to kick it off 
     var refreshInterval = setInterval(function() { 
      $("#content2").load('post_rf.php?randval='+ Math.random()); 
     }, 20000); 

     // bind an event to mouseout of your DIV to kickstart the interval again 
     $("#content2").bind("mouseout", function() { 
      refreshInterval = setInterval(function() { 
       $("#content2").load('post_rf.php?randval='+ Math.random()); 
      }, 20000); 
     }); 

     // clear the interval on mouseover of your DIV to stop the refresh 
     $("#content2").bind("mouseover", function() { 
      clearInterval(refreshInterval); 
     }); 

     $.ajaxSetup({ cache: false }); 
    }); 
</script> 
+0

我可以知道該如何設置? – 2012-08-12 10:31:51

+0

對不起1個問題,如何結合我的JS腳本? – 2012-08-12 10:36:48

+0

@ X-men更新後的帖子代表你的代碼更好 – 2012-08-12 10:57:22