如何延迟滑块上的第一个FadeIn事件

时间:2016-06-21 11:20:54

标签: javascript jquery

我目前正在修改这段代码作为一个项目的一部分,它适用于我需要它做的事情,但我想要一个相对较短的过渡期,但初始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();

1 个答案:

答案 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
 });