javascript - jQuery 显示/隐藏列表中的每个元素

标签 javascript jquery

问题是我想更改列表中每个名称的innerHTML属性并使用(fadeIn,delay for x sec,fadeOut)对其进行动画处理

<div id="welcomeBox">Welcome SOMETHING</div>

var list = ["George","Bob","Tom"];

$.each(list, function()
{
    $("#welcomeBox")
        .eq(0)
        .text('Welcome' + this)
        .fadeToggle(1500)
        .delay(5000)
        .fadeToggle(1500);
});

使用上面的代码,我只收到 3 条欢迎 Tom 消息。

最佳答案

var list=["George","Bob","Tom"];

// recursive closure to iterate thru list
(function recurse(index){
    // on fade use the callback to fade out
    $("#welcomeBox").text('Welcome ' + list[index]).fadeIn(1500, function(){
        $("#welcomeBox").fadeOut(1500, function(){
            // after fade out, call the function again with the next index
            recurse(undefined !== list[index+1] ? index+1 : 0);
        });
    });
})(0);

https://jsfiddle.net/6qo0L6mr/

关于javascript - jQuery 显示/隐藏列表中的每个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40853930/

相关文章:

javascript - 如何使 js 函数通用以在我的表单上的任何地方工作? (干燥)

javascript - 如何再次绑定(bind)按钮的点击事件

javascript - 是否可以使用固定高度的全宽 JSSOR slider ?

javascript - 如何在上传前设置图片的最大宽度和最大高度

javascript - JS 触摸事件 : Y Coordinates greater than Window Height

javascript - html5 音乐游戏/应用程序的 javascript 计时

javascript - 如何在 JavaScript 中内联组合数组?

javascript - 如何通过单击选项而不是实际按钮本身来选择单选按钮

jquery - 鼠标移开时隐藏 div

javascript - 将文本放在 svg 的中心