清除间隔自动刷新

时间:2014-06-15 14:01:48

标签: jquery clearinterval

我想通过mousedown事件清除var autorefresh,但它没有用。

加载文档就绪

$(document).ready(function() {
$('#posts_db').load('data/posts_db.php');
}); 

启动间隔60秒

var auto_refresh = setInterval(function(){
$('#posts_db<?php echo $id ?>').load('data/posts_db.php');
}, 60000);

mousedown touchstart将间隔更改为1800秒(对于评论区域)

// Comment_on Button wechselt von 60 sek auf 30 Min
$('#comment_on<?php echo $id ?>').bind('mousedown touchstart', function () {
$("#comment_on<?php echo $id ?>").stop().fadeOut("fast");
$("#comment_off<?php echo $id ?>").stop().delay(200).fadeIn("fast");
$("#element<?php echo $id ?>").stop().slideDown("slow");
clearInterval(auto_refresh);

// Intervall db load nach 1800 Sekunden während Eingabe
var auto_refresh = setInterval(
function()
{
$('#posts_db').load('data/posts_db.php');
}, 1800000);
});

mousedown touchstart将间隔更改回60秒(如果用户决定不写任何评论)

// Wenn Kommentar Fenster geschlossen wird Intervall wieder auf 60 Sekunden

$('#comment_off<?php echo $id ?>').bind('mousedown touchstart', function () {

$("#comment_off<?php echo $id ?>").stop().fadeOut("fast");
$("#comment_on<?php echo $id ?>").stop().delay(200).fadeIn("fast");
$("#element<?php echo $id ?>").stop().slideUp("slow");
clearInterval(auto_refresh);


// Intervall db load nach 60 Sekunden
var auto_refresh = setInterval(
function()
{

$('#posts_db').load('data/posts_db.php');
}, 60000);

}); 

它可以将auto_refresh更改为1800秒,但回到60秒无法正常工作。

1 个答案:

答案 0 :(得分:0)

问题是你一直在本地范围内创建auto_refresh。全局声明auto_refresh,然后只需设置全局值:

,而不是创建本地版本
clearInterval(auto_refresh);

auto_refresh = setInterval(
function()
{
  $('#posts_db').load('data/posts_db.php');
}, 1800000);