首页 > 解决方案 > 在单击元素上禁用 jQuery 功能

问题描述

我正在使用此功能在我的网站上的选项卡之间自动旋转:

$(function(autorotate) {
  var lis = $("#aanpak .tab_titles .tab"),
   currentHighlight = 0;
   N = 5;//interval in seconds
    setInterval(function() {
      currentHighlight = (currentHighlight + 1) % lis.length;
 lis.removeClass('active_tab').eq(currentHighlight).addClass('active_tab');
  }, N * 1000);
});

工作正常。但是如果我单击 ,我希望禁用此功能#aanpak .tab_titles .tab。有人可以帮忙吗。所以基本上都是关于禁用这个功能。

标签: jqueryfunctiondisable

解决方案


您需要定义一个 var,比如说myInterval,然后将其分配setInterval给它,以便能够在单击clearInterval时停止它#aanpak .tab_titles .tab

var myInterval;
$(function(autorotate) {
   var lis = $("#aanpak .tab_titles .tab"),
   currentHighlight = 0;
   N = 5; //interval in seconds
   myInterval = setInterval(function() {
      currentHighlight = (currentHighlight + 1) % lis.length;
      lis.removeClass('active_tab').eq(currentHighlight).addClass('active_tab');
   }, N * 1000);
});
$("#aanpak .tab_titles .tab").on('click', function(){
    clearInterval(myInterval);
});

推荐阅读