2

我正在尝试恢复 Jquery 循环插件幻灯片,但仅在延迟 X 毫秒之后。设置是让幻灯片在悬停时播放,并在不暂停时暂停(而其他内容基本上在其上滚动)以下代码在恢复之前没有注册延迟

非常感谢任何帮助

<script type="text/javascript">
$(document).ready(function() {
// configure the cycle plugin
$('.slideshowtwo').cycle({
     fx:     'scrollUp',
     speed:   1000,
     timeout: 1200,
     pause:   0
});
$('.slideshowtwo').cycle('pause'); // pause it right away.

$('.slideshowtwo').hover(
    function() {
            $(this).delay(5000).cycle('resume'); // start playing after delay
    },
    function(){
        $(this).cycle('pause'); // pause the slideshow.
    }
).trigger('hover');

});
</script>
4

1 回答 1

0

尝试将要在延迟后运行的代码放入 setTimeout 函数中。我现在已经编辑了您的代码以将暂停也包含在 setTimeout 中。此外,我已将 slideshowtwo 类存储到一个变量中,因此您不会经常调用选择器。这应该会提高性能。但是,如果由于某种原因该类被删除并添加到元素中,您应该返回动态搜索它。下面的代码应该很适合你。

<script type="text/javascript">
$(document).ready(function() {
// configure the cycle plugin
var showTwo = $('.slideshowtwo');
showTwo.cycle({
     fx:     'scrollUp',
     speed:   1000,
     timeout: 1200,
     pause:   0
});
showTwo.cycle('pause'); // pause it right away.

showTwo.hover(
    setTimeout(function(){
        function() {
                showTwo.cycle('resume'); // start playing after delay
        },
        function(){
            showTwo.cycle('pause'); // pause the slideshow.
        }
    }, 5000)
).trigger('hover');

});
</script>
于 2012-06-25T16:29:21.617 回答