【问题标题】:Javascript: Display Changing Text From ArrayJavascript:显示从数组更改的文本
【发布时间】:2015-09-30 08:50:23
【问题描述】:

我需要函数 function1() 从数组中选择文本

var array1 = ['Bla','Blaa','Blabla','La',];
var result1 = array1[Math.floor(Math.random() * array1.length)];

多次

var array1 = ['Bla','Blaa','Blabla','La',];
var result1 = array1[Math.floor(Math.random() * array1.length)];
var result2 = array1[Math.floor(Math.random() * array1.length)];

然后显示result1

document.getElementById("paragraph").textContent = result1 ;

然后使用 setTimeout 等待 1 秒再显示第二个结果

document.getElementById("paragraph").textContent = result2 ;

有人可以将这些未完成的代码组合起来,并使用 setTimeout 命令将其转换为工作函数吗?

【问题讨论】:

    标签: javascript settimeout


    【解决方案1】:

    你一路走来,最后一点都做不到?

    document.getElementById("paragraph").textContent = result1 ;
    setTimeout(function(){
        document.getElementById("paragraph").textContent = result2 ;
    },1000);
    

    docs for setTimeout

    【讨论】:

    • 我很惊讶,你成功完成的操作比 setTimeout 复杂得多 :)
    • 是的,我从代码的另一部分学到了这些东西,但这是我第一次使用 setTimeout
    • function levfunction1() { var arraylev1 = ['Red','Blue','Green','Gold',]; var resultlev1p1 = arraylev1[Math.floor(Math.random() * arraylev1.length)]; var resultlev1p2 = arraylev1[Math.floor(Math.random() * arraylev1.length)]; document.getElementById("headercolor").textContent = resultlev1p1 ; setTimeout(function(){ document.getElementById("headercolor").textContent = "" ; },1000); setTimeout(function(){ document.getElementById("headercolor").textContent = resultlev1p2 ; },3000); setTimeout(function(){ document.getElementById("headercolor").textContent = "" ; },1000); }
    • 知道为什么第三个(最后一个 SetTimeout 函数不起作用。
    • 它们都一起开火,第一个在 1 秒后执行某些操作,但同时第三个会开火。 setTimeout 立即返回,记住,它不会等待超时触发,然后再转到下一行代码。
    【解决方案2】:

    你必须让生成的随机数和array长度一样大,然后用它来得到result

    每秒显示result,您可以使用间隔为1000(1秒)的setInterval函数。

    试试这个:

    var array = ['Bla','Blaa','Blabla','La'];
    
    window.onload = function () {
      setInterval(function () {
        var index = parseInt(Math.random() * 10, 10) % array.length;
        var result = array[index];
        document.getElementById("paragraph").textContent = result;
      }, 1000);
    };
    <p id="paragraph"></p>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-25
      • 2023-03-07
      • 1970-01-01
      • 1970-01-01
      • 2012-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多