我有一些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>
提前致谢!
答案 0 :(得分:2)
setTimeout(function(){
// your code here.
},500);
setTimeout有两个参数 - 第一个是你的代码,第二个是延迟它的时间(以毫秒为单位)。
答案 1 :(得分: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); } );
编辑:显然,您希望在超时中包含在click事件上执行的代码,而不是附加click事件本身。遗憾!