【问题标题】:Display array content from a for-loop显示来自 for 循环的数组内容
【发布时间】:2017-03-26 14:08:14
【问题描述】:

我正在尝试显示 randomTable 中的一个数字,持续 8 秒,1by1。可悲的是它根本没有显示任何东西。

    var numberTable = [];
    var randomTable = [];

    $('#pooling').append('<div id="box"> </div>');

    for (var i=1;i<=32;i++) {
        numberTable.push(i);
    }

    for (var i=0;i<8;i++) {
        (function (e) {
            randomTable.push(1 + Math.floor(Math.random() * (32 - e)));
            numberTable.splice(e,1);
            $('#box').replaceWith('<div id = "box>' + randomTable[e] + '</div>');
            $('#box').show(0).delay(8000).hide(0);
        })(i);
    }

当我删除第二个 for 循环时,它会显示空的#box,但是使用这个循环它根本不会创建这个 div。可能是什么问题?

【问题讨论】:

    标签: jquery arrays closures push


    【解决方案1】:

    目前尚不清楚您的意图是什么,但也许这会有所帮助:

    var numberTable = [];
    var randomTable = [];
    for (var i = 1; i <= 32; i++) {
      numberTable.push(i);
    }
    for (var i = 0; i < 8; i++) {
      randomTable.push(1 + Math.floor(Math.random() * (32 - i)));
      numberTable.splice(i, 1);
    }
    console.log("randomTable: " + randomTable);
    
    $('#box').text(randomTable[0]);
    var x = 1;
    function repeat(){
      window.setTimeout(function(){
        if (x < 8) {
          $('#box').text(randomTable[x]);
          x++;
          repeat();
        }
      },8000);
    };
    repeat();
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <p id="box"></p>

    【讨论】:

    • 看起来不错,但我的观点是我想将它作为 html 元素运行。这里我们使用控制台。
    • @ClassicError 我的代码示例仅将创建的随机数组记录到控制台。号码本身附加到$('#box')。您只需根据自己的需要进行调整。我的意思只是展示如何每 8 秒从随机数组中获取下一个值。
    【解决方案2】:

    首先 - replaceWith 调用中缺少一个 "

    第二 - 使用这种方法,您应该始终只得到一个 div (id=box),因为您在每次迭代中使用 replaceWith 覆盖它 - 您可以像这样使用附加和后缀 id:

    $('#box').append('&lt;div id="box-' + e '"&gt;' + randomTable[e] + '&lt;/div&gt;')

    或完全保留id 并改用一个类 - 正如名称所暗示的那样 - 文档中应该只有一个具有相同 id 的元素。

    提供您的 html 标记愿望,如果这不适合。

    【讨论】:

    • 感谢您的回答!还是行不通。我将 ID="box" 更改为 class= "box" - 第一个数字显示 8 秒并隐藏。此后没有任何事情发生(检查员:)。当我用新的 ID 元素替换旧的 ID 元素时,类和 ID 之间真的有区别吗?仍然是 ID 的一个元素。
    猜你喜欢
    • 2019-03-22
    • 1970-01-01
    • 2017-01-27
    • 2019-03-18
    • 2021-03-31
    • 2011-08-27
    • 2014-11-07
    • 1970-01-01
    • 2017-06-22
    相关资源
    最近更新 更多