javascript - 逐行显示js问题
迷茫
迷茫 2017-04-10 14:41:57
[JavaScript讨论组]
<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>
<p id="txt"></p>
</body>
</html>

想搞一个类似于歌词的逐行显示的,但是貌似 setTimeout 无效啊··求破

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(1)
巴扎黑

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");
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号