提问者:小点点

按时间和单击更改报价


我做了一个报价生成器,它是随着时间改变的,但我想能够改变它与一个按钮点击以及,所以我添加了一个函数,但当我点击它(在代码上),它说未定义。。。

我是编程新手,所以我可能会犯一个愚蠢的错误:)

var text = ["Welcome", "Hi", "Sup dude", "Hola"];
var counter = 0;
var elem = document.getElementById("changeText");
var inst = setInterval(change, 2000);

function change() {
  elem.innerHTML = text[counter];
  counter++;
  if (counter >= text.length) {
    counter = 0;
  }
}

function newQuote(){
  var randomNumber = Math.floor(Math.random() * (text.lenght));
  document.getElementById('changeText').innerHTML = text[randomNumber];
  
}
<div id="changeText"></div>
<button onclick="newQuote()">new quote</button>

我需要在点击后重置更改时间,例如,让我们假设报价每20秒更改一次

改变了20,19,18,17点击为新的一个,现在计时器应该是20再次不应该走像17,16,15…。 应该是20,19,18。

我也不知道怎么做。。。 如果你们能帮忙就太好了。


共2个答案

匿名用户

看起来text.lenght中有一个错误(应该是长度)。 编辑:函数newQuote()中的第一行

匿名用户

单击按钮会导致undefinede,原因是输入错误。 您编写了length而不是length