2012-07-27 150 views
6

我有一个幻灯片我想自动播放和循环不断。我发现了一些片段,可以让我设置全球幻灯片持续时间,并使用带有setInterval()调用的impress.next()来向前移动,但是我失去了为每张幻灯片设置不同持续时间的能力。如何使impress.js幻灯片自动播放和循环

回答

26

我很高兴与大家分享我的解决方案。如果你看到有改进的余地,不要害羞。希望这可以帮助那里的人。

<script> 
    var impress = impress(); 
    impress.init(); 

    document.addEventListener('impress:stepenter', function(e){ 
    if (typeof timing !== 'undefined') clearInterval(timing); 
    var duration = (e.target.getAttribute('data-transition-duration') ? e.target.getAttribute('data-transition-duration') : 2000); // use the set duration or fallback to 2000ms 
    timing = setInterval(impress.next, duration); 
    }); 
</script> 
+0

非常有帮助节省了很多时间。 +1为此:) – 2013-07-30 11:15:57

+1

谢谢!这让我朝着正确的方向前进。但是,我遇到了一些问题。在多个步骤中使用自定义数据转换持续时间,很难在短时间内使幻灯片放慢速度。对我来说,用setTimeout(impress.next,duration)替换setInterval(impress.next,duration)会导致幻灯片以我想要的方式运行。 – SiPe 2015-05-07 09:30:58