单击文档中的任何位置时的clearTimeout

时间:2014-05-10 04:59:20

标签: javascript impress.js

我正在使用impress.js进行演示我已经成功添加了自动播放但现在我想要的是每当有人点击文档中的任何位置时它应该停止

<script>
            ready(function() {
            if (document.getElementById('launched-placeholder'))
            loadPresentation();
            if (!window.presStarted) {
            startPres(document, window);
                var api = impress();
                api.init();
                $(document).on('impress:stepenter', function(e) {
        var currentSlide = $(e.target).attr('id');

        if (currentSlide === 'step-1') {
        setTimeout(api.next, 3000);
        } else if (currentSlide === 'step-2') {
        setTimeout(api.next, 50);
        } else if (currentSlide === 'step-3') {
        setTimeout(api.next, 50);
        } 
</script>

我尝试过很多东西,但无法让它发挥作用。请帮忙

1 个答案:

答案 0 :(得分:3)

您应该保存setTimeout的引用以便能够清除它:

var myTim1= setTimeout(api.next, 3000);

而不是

 setTimeout(api.next, 3000);

然后

clearTimeout(myTim1);

在Doc Click事件:

document.onclick=function(){
  clearTimeout(myTim1);

};

或者使用jQuery:

 $(document).click(function(){
      clearTimeout(myTim1);

    });