Javascript 如何中断setInterval以启动另一个

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

我想在我的站点中自动重新加载div。如果我在使用clearInterval停止
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