我目前正在修改这段代码作为一个项目的一部分,它适用于我需要它做的事情,但我想要一个相对较短的过渡期,但初始div元素只显示一个短暂的时刻和淡入淡出过程开始。
我想知道是否有人可以帮助我纠正这个问题。理想情况下,我想设置初始滑块时间帧或延迟它触发过程,
var divs = $('.fade');
function fade() {
var current = $('.current');
var currentIndex = divs.index(current),
nextIndex = currentIndex + 1;
if (nextIndex >= divs.length) {
nextIndex = 0;
}
var next = divs.eq(nextIndex);
current.stop().fadeOut(500, function() {
$(this).removeClass('current');
setTimeout(fade, 5000);
});
next.stop().fadeIn(500, function() {
$(this).addClass('current');
});
}
fade();
答案 0 :(得分:0)
要立即启动功能fade()
,请执行以下操作:
var divs = $('.fade');
function fade() {
....
}
setTimeout(fade, 5000); //here is the only change
代码结束时fade()
立即执行。只需添加超时即可。 5000
以毫秒为单位,只需将其切换到您想要的延迟时间。
除了您的问题之外,如果您只想在单击它们之后将淡入淡出功能应用于对象,则可以执行此操作。
$('.fade').on('click',function(){//instead of click you could use any event ex. mouseover
fade();//call fade function
});