为什么只显示数组的第一个元素?
代码:
<html>
<head>
<meta charset="utf-8">
<style>
#news {
height: 30px;
background-color:rgba(0, 0, 255, 0.37);
direction: rtl;
line-height: 30px;
}
</style>
<p id="x"></p>
<p id="y"></p>
<p id="z"></p>
<p id="w"></p>
</head>
<body>
<div id="news">اخبار :<span id ="ne"></span></div>
<script>
var spn = document.getElementById("ne");
var str = "";
var arr = ["بهترین ها در سایت ما","آموزش جاوا اسکریپت","مرجع کامل سی اس اس","اولین دوره شبکه"];
var len = arr.length;
var i =0,j=0,tim;
lop();
function lop() {
if(arr[i]){
var myss = arr[i].split("");
tim = setInterval(function(){shw(myss)},100);
}
}
function shw(st) {
if(st[j] != undefined) {
str += st[j];
spn.innerHTML = str;
j+=1;
}
else {
clearInterval(tim);
i++;
lop();
}
}
</script>
</body>
</html>
最佳答案
我想出了一个解决方案:
var spn;
var str = "";
var arr = ["بهترین ها در سایت ما","آموزش جاوا اسکریپت","مرجع کامل سی اس اس","اولین دوره شبکه"];
var len = arr.length;
var i =0,tim;
window.onload = function() {
spn = document.getElementById("ne");
lop();
}
function lop() {
arr = arr.join(' ').split("");
if(arr.length > 0){
tim = setInterval(function(){shw(arr)},100);
}
}
function shw(st) {
if(st[i] != undefined) {
str += st[i];
spn.innerHTML = str;
i += 1;
}
else {
clearInterval(tim);
}
}
#news {
height: 30px;
background-color:rgba(0, 0, 255, 0.37);
direction: rtl;
line-height: 30px;
}
<div id="news">اخبار :<span id ="ne"></span></div>
关于javascript - 为什么只显示arr [0],我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37616602/