Javascript 如何中断setInterval以启动另一个
我想在我的站点中自动重新加载div。如果我在使用clearInterval停止Javascript 如何中断setInterval以启动另一个,javascript,jquery,Javascript,Jquery,我想在我的站点中自动重新加载div。如果我在使用clearInterval停止interval1时单击底部脚本重新加载另一个div,它不工作,则再次重新加载脚本interval1,当我使用console.log interval时,我发现false,再次重新加载脚本clearInterval不工作或 <script type="text/javascript"> var interval2; var interval1; $(document).ready(functio
interval1
时单击底部脚本重新加载另一个div,它不工作,则再次重新加载脚本interval1
,当我使用console.log interval时,我发现false,再次重新加载脚本clearInterval不工作或
<script type="text/javascript">
var interval2;
var interval1;
$(document).ready(function() {
var get_template = function() {
$("#live-grouped-odds-current").load("template.php");
}
interval2 = setInterval(get_template, 6000);
$("#live_details").click(function() {
clearInterval(interval2);
console.log(interval2);
$('#live-overview-menuitem').removeClass('Actual');
$('#live_details').addClass('Actual');
$("#button_sp").css('display', 'none');
$("#button_dt").css('display', 'block');
clearInterval(interval2);
interval2 = false;
$("#live-grouped-odds-current").empty();
$("#loader12").css('visibility', 'visible');
$("#live-grouped-odds-current").load("details.php");
});
$("#loader12").css('visibility', 'visible');
$.get("details/events.php", function(data1) {
$("#event_list").html(data1);
});
$("#loader12").css('visibility', 'hidden');
var refresh = function() {
$.get("details/events.php", function(data1) {
$("#event_list").html(data1);
});
$.get("details/simple_event.php", function(data) {
$("#simple_event").html(data);
});
}
interval1 = setInterval(refresh, 6000);
});
function simple_event(id) {
clearInterval(interval1);
$('.Event').removeClass('Actual');
$("#" + id).attr('class', 'Actual');
$("#simple_event").empty();
$("#loader12").css('visibility', 'visible');
$.get("details/simple_event.php?id=" + id, function(data) {
$("#simple_event").html(data).hide();
$("#simple_event").slideDown(1000);
//alert( "Load was performed." );
$("#loader12").css('visibility', 'hidden');
});
interval1 = setInterval(refresh, 6000);
}
</script>
var区间2;
var区间1;
$(文档).ready(函数(){
var get_template=函数(){
$(“#当前”)加载(“template.php”);
}
interval2=设置间隔(get_模板,6000);
$(“#实时#U详细信息”)。单击(函数(){
间隔时间(间隔2);
控制台日志(间隔2);
$('#live overview menuitem')。removeClass('Actual');
$('live#u details')。addClass('Actual');
$(“#按钮_sp”).css('display','none');
$(“#按钮_dt”).css('display','block');
间隔时间(间隔2);
间隔2=假;
$(“#当前有效”).empty();
$(“#loader12”).css(‘可见性’、‘可见’);
$(“#当前”)加载(“details.php”);
});
$(“#loader12”).css(‘可见性’、‘可见’);
$.get(“details/events.php”,函数(data1){
$(“#事件列表”).html(数据1);
});
$(“#loader12”).css(‘可见性’、‘隐藏’);
var refresh=function(){
$.get(“details/events.php”,函数(data1){
$(“#事件列表”).html(数据1);
});
$.get(“details/simple_event.php”),函数(数据){
$(“#简单事件”).html(数据);
});
}
interval1=设置间隔(刷新,6000);
});
函数简单事件(id){
间隔时间(间隔1);
$('.Event').removeClass('Actual');
$(“#”+id).attr('class','Actual');
$(“#简单_事件”).empty();
$(“#loader12”).css(‘可见性’、‘可见’);
$.get(“details/simple_event.php?id=“+id,函数(数据)){
$(“#简单事件”).html(数据).hide();
$(“简单事件”)。向下滑动(1000);
//警报(“已执行加载”);
$(“#loader12”).css(‘可见性’、‘隐藏’);
});
interval1=设置间隔(刷新,6000);
}
调用clearTimeout意味着不会再次触发间隔,但是如果$(“#当前”).load(“template.php”)代码>仍在运行,它将完成。如果$(“#当前活动”).load(“template.php”)代码>需要超过6000毫秒的时间,您将开始并行执行多个请求。(我认为最好使用setTimeout)
第一次调用clearInterval(interval2)后,将interval2设置为undefined
$("#live_details").click(function() {
clearInterval(interval2);
inteval2 = undefined;
});
并将“获取”模板更改为
var get_template = function() {
$.get("template.php", function( data ) {
if (inteval2 !== undefined) {
$("#live-grouped-odds-current").html( data );
}
});
}
因此,如果间隔已清除,则当前的#活动分组赔率
将不会注明日期格式化JS并显示HTMLYou正在清除的“间隔”是否从未设置?您有一个interval2变量,但从未使用过?不确定代码试图做什么…我更新我的脚本您的问题仍然很难理解,请显示HTML以及更新您的问题,以便我们能够理解您所指的div、button等。最好是将代码粘贴到JSFIDLE中并共享,这样我们就可以看到问题所在,以及当我单击“实时”详细信息时,您期望发生什么。我想清除间隔2一个设置的间隔1一个静止但clearinterval 2不工作仍然重新编码template.php