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++;
}