Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何按时间间隔循环浏览列表和fadeIn?_Javascript_Jquery_Jquery Ui_Javascript Events - Fatal编程技术网

Javascript 如何按时间间隔循环浏览列表和fadeIn?

Javascript 如何按时间间隔循环浏览列表和fadeIn?,javascript,jquery,jquery-ui,javascript-events,Javascript,Jquery,Jquery Ui,Javascript Events,我有这样一个标准列表: <ul> <li style="display: none;">..</li> <li style="display: none;">..</li> <li style="display: none;">..</li> </ul> $('ul li').one('fader', function(e) { $(this).fadeIn(2000, function()

我有这样一个标准列表:

<ul>
<li style="display: none;">..</li>
<li style="display: none;">..</li>
<li style="display: none;">..</li>
</ul>
$('ul li').one('fader', function(e) {
    $(this).fadeIn(2000, function() {
        $(this).next().trigger('fader'); 
    });
}).first().trigger('fader'); 
我想一次一个地淡入每个元素。如何循环遍历每个元素并以2秒的间隔显示它?换句话说,当页面加载时,将显示第一个元素。。。2秒后,将显示第2个,然后再显示2秒,然后显示第3个,以此类推,直到全部完成

$('ul > li').each(function(i, elem) {
    window.setTimeout(function() {
        $(elem).fadeIn();
    }, i * 2000);
});
演示:


演示:

除了@ThiefMaster的方法外:

function fadeInSequence(li){
    var next = $(li).next('li')!=null?function(){fadeInSequence($(li).next('li'));}:function(){};
    $(li).fadeIn(2000,next);
}
fadeInSequence($('ul>li:first'));
(新手,无法正确格式化代码…)


演示:

除了@ThiefMaster的方法外:

function fadeInSequence(li){
    var next = $(li).next('li')!=null?function(){fadeInSequence($(li).next('li'));}:function(){};
    $(li).fadeIn(2000,next);
}
fadeInSequence($('ul>li:first'));
(新手,无法正确格式化代码…)


演示:

您可以尝试以下内容:

<ul>
<li style="display: none;">..</li>
<li style="display: none;">..</li>
<li style="display: none;">..</li>
</ul>
$('ul li').one('fader', function(e) {
    $(this).fadeIn(2000, function() {
        $(this).next().trigger('fader'); 
    });
}).first().trigger('fader'); 

示例:

您可以尝试以下方法:

<ul>
<li style="display: none;">..</li>
<li style="display: none;">..</li>
<li style="display: none;">..</li>
</ul>
$('ul li').one('fader', function(e) {
    $(this).fadeIn(2000, function() {
        $(this).next().trigger('fader'); 
    });
}).first().trigger('fader'); 

示例:

您可以使用jQuery内置方法


您可以使用jQuery内置方法

我的建议是:

var $list = $('ul li');

(function loop(current) {    
    current && $(current).fadeIn('slow', function() {
        loop($list.splice(0,1));
    });
}($list.splice(0,1)));
演示

我的建议:

var $list = $('ul li');

(function loop(current) {    
    current && $(current).fadeIn('slow', function() {
        loop($list.splice(0,1));
    });
}($list.splice(0,1)));
演示