0

我正在使用 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>

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

4

1 回答 1

3

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

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

并不是

 setTimeout(api.next, 3000);

然后

clearTimeout(myTim1);

在文档点击事件上:

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

};

或者使用 jQuery:

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

    });
于 2014-05-10T05:02:22.277 回答