【问题标题】:fadeIn() elements in array, randomly (ie, not in order), at different times数组中的fadeIn() 元素,随机(即,不按顺序),在不同时间
【发布时间】:2015-06-30 22:28:43
【问题描述】:

我写了几个句子,标签中的所有“单词”,都属于同一类。我设法用所有元素填充了一个数组。但是,全部同时出现,并且全部在段落中依次出现(即,如果第 5 个元素是第一个打印的,则 n+1 个元素将始终大于 5,以此类推)

另外,在我的 for 循环中,如果我的 for(var i=0;i ;i++) .....32 是唯一元素的数量。我必须将 numElements 设置为大于 32。IE 除非 numElements >=90,否则不会出现所有元素。这是为什么呢?

尝试:

$(document).ready(function() {
    var spanArray = [];
    var spanLength, index;
    /* Populate array with all elements of class .fadeIn */
    $(".fadeIn").each(function() {
        spanArray.push(this);   
    })

    spanLength = (spanArray.length);

    for(var i = 0; i < 33; i++) {

        index = Math.floor(Math.random() * (spanArray.length));  
            $(spanArray[index]).delay(400).fadeTo(500,1, function() {
                $(spanArray).splice(index,1);
   });
    }
});

jsFiddle

基本上: 所有元素同时出现 numElements 不会显示所有元素,除非 numElements >>> 实际的NumElements

例如:working jsFiddle

【问题讨论】:

  • 到底是什么问题?在小提琴中,它们不会同时出现 - 或者这就是你想用上面的代码实现的目标?

标签: javascript jquery html css arrays


【解决方案1】:

我找到了所有想知道的答案!

$(document).ready(function() {
$("#contact").click(function() {

    $(".fadeIn").each(function() {
        var word = this;

        setTimeout(function() {

            $(word).css("opacity","1");
        }, Math.random() * 3000)

});

});

【讨论】:

    猜你喜欢
    • 2023-03-08
    • 1970-01-01
    • 2020-06-28
    • 1970-01-01
    • 2012-11-19
    • 2019-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多