在我的代码中,如果我点击按钮,会直接显示 3 个数字。 但是我希望直接显示第一个数字,2秒后显示第二个数字,3秒后显示第三个数字。 这是我页面的全部源代码:
<!DOCTYPE html>
<html>
<head>
<script>
window.onload = function(){
myFunction();
}
</script>
<script>
function myFunction()
{
var quotes = [
{text:" <br> 1 <br><br> 2 <br><br> 3 ",},
{text:" <br> 4 <br><br> 5 <br><br> 6 ",},
{text:" <br> 7 <br><br> 8 <br><br> 9 ",},
];
var quote1 = quotes[Math.floor(Math.random() * quotes.length)];
document.getElementById("quote1").innerHTML=
'<p><font size="7">' + quote1.text + '</font></p>';
}
</script>
</head>
<body>
<center>
<div id="quote1"></div>
<br>
<br>
<br>
<br>
<br>
<center>
<a href="#" onclick="myFunction()">Next</a>
</center>
</center>
</body>
</html>
我如何实现它? 附言请不要使用 Jquery,我使用纯 Javascript
最佳答案
这就是你要找的:
<script>
function myFunction()
{
var o, qt=[
[1,2,3],
[4,5,6],
[7,8,9]];
o=document.getElementById("quote1");
o.innerHTML="";
for(var i=1;i<4;i++)
o.innerHTML+="<p id=\"quote1_"+i+"\" style=\"font-size: 28pt;\"> </p>";
var q=qt[Math.floor(Math.random() * qt.length)];
document.getElementById("quote1_1").innerHTML=q[0];
setTimeout(function() { document.getElementById("quote1_2").innerHTML=q[1]; }, 2000);
setTimeout(function() { document.getElementById("quote1_3").innerHTML=q[2]; }, 3000);
}
window.onload = function(){
myFunction();
}
</script>
</head>
<body>
<center>
<div id="quote1"></div>
<br>
<br>
<br>
<br>
<br>
<center>
<a href="#" onclick="myFunction()">Next</a>
</center>
</center>
睾丸和工作。
关于javascript - 如何使 Javascript 数组中的部分文本在不同时间显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23978193/