JQuery自动刷新(setInterval)

JQuery自动刷新(setInterval),jquery,toggle,setinterval,Jquery,Toggle,Setinterval,大家好,不确定这样做的最佳方式,即如果,将放置在何处。。我有一个加载页面的div,它有一个setInterval()函数 在加载的页面上有一个按钮,我想要实现的是当单击按钮1(加载的页面)停止setInterval()并附加一个新的div(绝对位置),直到单击按钮2(在指定的div上)然后重新启动它。。压缩 这是我的“基本”代码 这是第一个按钮的操作 $('.replybutton').live('click',function(){ $('.discussion').append('

大家好,不确定这样做的最佳方式,即如果
,将
放置在何处。。我有一个加载页面的div,它有一个setInterval()函数

在加载的页面上有一个按钮,我想要实现的是当单击按钮1(加载的页面)停止setInterval()并附加一个新的div(绝对位置),直到单击按钮2(在指定的div上)然后重新启动它。。压缩

这是我的“基本”代码

这是第一个按钮的操作

 $('.replybutton').live('click',function(){
    $('.discussion').append('<div class="replyarea">some content in here plus "button number2</div>');
    });
这是刷新功能

var auto_refresh = setInterval(
function()
    {
    $('.discussion').fadeOut().load('board2.php').fadeIn();

    }, 10000);

失败-(但不是首选)我可以在加载的页面上使用切换,而不是在
$('.replybutton').live('click',function()中使用附加
,但仍然需要停止刷新并重新启动它-基于切换,但我强调切换想法不是首选方式。

我认为您需要的是函数
clearInterval()
。这将允许您根据间隔id删除间隔(在您的情况下,
自动刷新

以下是文件:

现在,您可以将回调封装在命名函数中:

var reload = function(){
    $('.discussion').fadeOut().load('board2.php').fadeIn();
};

var auto_refresh = setInterval(reload, 10000);

$('button').click(function(){
    clearInterval(auto_refresh);
});

我在JSFIDLE为您创建了一个示例。请在此处查看:

代码

var intervalId = 0;
intervalId = setInterval(fadeDiscussion, 3000);

$(function() {
    $('input[name=click]').bind('click', function() {
        clearInterval(intervalId);     

        $('.discussion').append('<div class="replyarea">some content in here plus <input type="button" name="save" value="save"></div>');    
    });

    $('input[name=save]').live('click', function() {
         intervalId = setInterval(fadeDiscussion, 3000);   
    });
});

var i = 1;
function fadeDiscussion () {
    console.log(i);
    $('.discussion').fadeOut().fadeIn();
    i++;
}
var intervalId=0;
intervalId=设置间隔(fadeDiscussion,3000);
$(函数(){
$('input[name=click]')。绑定('click',函数(){
clearInterval(intervalId);
$('.discussion').append('here plus'中的一些内容);
});
$('input[name=save]')。live('click',function(){
intervalId=设置间隔(fadeDiscussion,3000);
});
});
var i=1;
函数fadeDiscussion(){
控制台日志(i);
$('.discussion').fadeOut().fadeIn();
i++;
}
var intervalId = 0;
intervalId = setInterval(fadeDiscussion, 3000);

$(function() {
    $('input[name=click]').bind('click', function() {
        clearInterval(intervalId);     

        $('.discussion').append('<div class="replyarea">some content in here plus <input type="button" name="save" value="save"></div>');    
    });

    $('input[name=save]').live('click', function() {
         intervalId = setInterval(fadeDiscussion, 3000);   
    });
});

var i = 1;
function fadeDiscussion () {
    console.log(i);
    $('.discussion').fadeOut().fadeIn();
    i++;
}