<html>
<head>
<title>逐行显示文字</title>
<script src="http://libs.useso.com/js/jquery/1.8.3/jquery.min.js"></script>
<script language="javascript">
<!--
i = 0;
str = "";
function type(content,id,time){
var strArr = content.toString();
var getArr = strArr.split(",");
var txtid = id;
str += getArr[i] + "<br>";
//alert(str);
txtid.innerHTML = str;
i++;
if (i<getArr.length){
setTimeout(type(getArr,txtid,time),time);
}
}
//-->
$(document).ready(function(){
var text = new Array("第一行文字!","第二行文字!","第三行文字!","第四行文字!");
//alert(text);
type(text,txt,20000);
});
</script>
</head>
<body>
<div id="txt"></div>
</body>
</html>
想搞一个类似于歌词的逐行显示的,但是貌似 setTimeout
无效啊··求破
setTimeout(type, time);
setTimeout
的第一个参数传递的是一个函数,而不是函数的返回值。
测试
var i = 0;
var str = "";
var time = 1000;
var text = ["第一行文字!","第二行文字!","第三行文字!","第四行文字!"];
function type(id) {
str += text[i++] + "<br>";
console.log(str);
if (i < text.length) {
t = setTimeout(type, time);
}
}
type("txt");