【问题标题】:How to stop jquery js function on tab change?如何在选项卡更改时停止 jquery js 功能?
【发布时间】:2017-04-25 13:55:41
【问题描述】:

如何在标签更改时停止 jquery 功能? Jquery js函数的代码如下。

function move(){
addEventListener('load', function() {
createProgressbar('progressbar1', '40s', function() {
document.getElementById("close").style.display = "block";
 document.getElementById("msg").style.display = "none";
}); 
});
}

任何人都可以帮助我吗?如果需要任何其他信息,请发表评论。

【问题讨论】:

  • 这个函数如何在你的标签页上调用?通过onclick?像<span id="tab" onclick="move()">first tab</span> 或者通过 jquery 代码?
  • this。将该答案与 setInterval 结合起来以解决问题
  • @AlivetoDie 是的,它从单击按钮开始。
  • 点击按钮?有点混乱?意思是在选项卡上单击此函数调用或另一个单独的按钮调用此函数?请添加更多代码和详细信息,以便我们了解move() 函数的实际调用方式以及调用时间?
  • @AlivetoDie 它在加载 iframe 时调用。

标签: javascript jquery function


【解决方案1】:

请参阅下文以了解大致情况。

playing = function() {
    foo = window.setInterval(function() {
        console.log('as')
    }, 500);
}

$(window).blur(function(e) {
   clearInterval(foo);//clear the interval..which inturn stop execution
});

$(window).focus(function(e) {
//will get executed when current tab is focused
 playing()
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
注意:运行 sn -p 后单击/退出输出区域以查看它的工作情况。

【讨论】:

    【解决方案2】:

    如果您在一个选项卡上执行某些加载(例如)操作,并且在加载过程中,如果您切换到另一个选项卡,并且您需要停止之前的加载过程,那么它可能不会发生。

    但你可以做的是hide all elements(与加载相关的显示),你不想在更改标签后立即显示。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-14
      • 1970-01-01
      • 2011-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多