0

我有一些 jquery 代码,当单击选项卡时,它会将图像滑块重置为幻灯片 1。问题是,它会立即发生,所以在标签淡出之前你会看到重置滑块的一点点闪烁。

我想将重置“保持”大约半秒,直到它消失。

有人告诉我我需要将代码包装在“setTimeout”函数中,所以我希望在如何做到这一点上得到一些帮助。

我说的是这个页面的“工作”部分:www.oncreative.com.au

这是我必须重置滑块的代码:

<script>
    $('.reset').click(function() {
    $('.workslider').each(function() {
           var s = $(this).data('royalSlider');
           s.st.transitionSpeed = 0;
            s.goTo(0);
            setTimeout(function() {
                s.st.transitionSpeed = 600;
            }, 10); 
    });
    });
</script>

提前致谢!

4

2 回答 2

3
setTimeout(function(){
 // your code here.
},500);

setTimeout 有两个参数——第一个是你的代码,第二个是延迟它的时间(以毫秒为单位)。

于 2013-01-09T23:18:44.670 回答
0

这是一个非常基本的 jsFiddle,应该提供一个简单的setTimeout实际操作示例:http: //jsfiddle.net/A5dQn/

在您的具体情况下:

// First you need to wrap the code you want to be
// executed when the timeout fires in a function:
function resetSliders () {
    $('.workslider').each(function() {
        var s = $(this).data('royalSlider');
        s.st.transitionSpeed = 0;
        s.goTo(0);
        setTimeout(function() {
            s.st.transitionSpeed = 600;
        }, 10); 
    });
};

// Then simply pass in a reference to your function to the setTimeout function.
$('.reset').click(function() { window.setTimeout(resetSliders, 500); } );

编辑:显然,您希望在超时中包装在单击事件上执行的代码,而不是附加单击事件本身。对不起!

于 2013-01-09T23:19:57.807 回答