繁体   English   中英

单击时如何停止setinterval

[英]how to stop setinterval when click

我在我的网站上使用幻灯片播放,该插件没有自动播放选项,因此我使用setinterval来实现。

这是我的代码:

var myInterval,
    startInt = function(){

        myInterval = setInterval(function(){

            $(".slidenav__item--next").click();

        }, 7000);

    };

startInt();

我有一个视频叠加层,当单击一个元素时会打开,我想做的是在打开叠加层时停止我的自动播放功能,并在关闭叠加层时重新开始。

这是我尝试过的沙发,但不起作用:

“ .slides a”是打开我的叠加层的链接,“。back”是将其关闭的链接。

var myInterval,
    startInt = function(){

        myInterval = setInterval(function(){

            $(".slidenav__item--next").click();

        }, 7000);

    };

startInt();

/* RESET WHEN OVERLAY OPENED */

$(".slides a").click(function() {

    clearInterval(myInterval);

});

$(".back").click(function() {

    startInt();

});

任何帮助高加索感谢!

谢谢

我通过使用标志找到了解决方案:

var paused = false;
var autoplay = window.setInterval(function() {

    if(!paused) {

        $(".slidenav__item--next").click();

    }

}, 7000);

$('.slides a').on('click', function(e) {

    e.preventDefault();
    paused = true;

});

$(".back").click(function() {

    e.preventDefault();
    paused = false;

});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM