javascript - Jquery:顺序淡入、淡出列表和循环

标签 javascript jquery html

这是 html:

<ul class="uii" id="fds">

    <li class="lii">One</li>

    <li class="lii">Two</li>

    <li class="lii">Three</li>

    <li class="lii">Four</li>

</ul>

Js:

$(function() {
     setInterval(function () {
      $('#fds li').each(function (i) {

    $(this).delay((i++) * 1000).fadeTo(2000, 1); 
    $(this).delay((i++) * 1000).fadeOut(2000);
    });
}, 10000);
});

CSS:

.uii {
    margin-top: 10px;
    margin-right: 10px;
    float: right;
    font-size: 50px;
    width: 40%;

}

.uii li { opacity: 0; list-style: none; }

.lii {
    padding: 35px;
    margin-bottom: 10px;
    z-index: 1000;
    position: auto;
    background: #CBBFAE;
    background: rgba(190,176,155, 0.4);
    border-left: 4px solid rgba(255,255,255,0.7);
    -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);   
    opacity: 0;
    color: #fff;

    -webkit-transition: all 200ms;
    -moz-transition: all 200ms;
    -o-transition: all 200ms;
    -ms-transition: all 200ms;
    transition: all 200ms;
}

项目应该一个接一个地出现,直到列表完成,经过相当长的延迟后,项目应该从一开始就一个接一个地淡出,最后应该有一个相当长的停顿。我的代码淡出问题很快,循环间隔与淡入和淡出时间和结果之间的恐惧是困惑的。

最佳答案

尝试

function animate() {
    function fadeTo(lis, duration, opacity, callback) {
        if (!lis.length) {
            callback();
        }

        var $lis = $(lis.shift());
        $lis.delay(1000).fadeTo(duration, opacity, function () {
            fadeTo(lis, duration, opacity, callback);
        })
    }

    fadeTo($('#fds li').get(), 500, 1, function () {
        setTimeout(function () {
            fadeTo($('#fds li').get(), 500, 0, function () {
                setTimeout(animate, 5000);
            })
        }, 5000);
    })

}

animate();

演示:Fiddle

关于javascript - Jquery:顺序淡入、淡出列表和循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20063303/

相关文章:

javascript - 为页面上的链接查询 MediaWiki API 不会返回所有链接

javascript - 无法再访问基本 Spotify API 数据

html - 调整窗口大小时的文字和图片html

javascript - 在 html 表中的两个字段之间画线?

javascript - FastClick 和 click() 事件触发麻烦

html - 搜索栏图标向下移动?

php - 如何在 laravel 上将字符串从 jquery 翻译为blade

javascript - document.activeElement 在 onblur 处理程序中返回正文

带有 RS-232 串行端口的 Javascript 接口(interface)

Javascript 函数不返回结果