最好是想弹幕那样,就是说,有一段文字,每隔50秒输出一句话
这样吗?
<textarea id="ta" style="display:none">文字放这里
一行一句话
最好是想弹幕那样
就是说,有一段文字
每隔50秒输出一句话</textarea>
<div id="dvRst"></div>
<script>
var lines = document.getElementById('ta').value.split('\n'), max = lines.length, cur = 0;
function showLine() {
document.getElementById('dvRst').innerHTML = lines[cur];
cur++;
if (cur >= max) cur = 0;//超过数量,从头开始
}
setInterval(showLine, 5 * 1000);//为了测试改为5s一次了,要50s改这里
showLine();
</script>
js设置定时器就可以了
设置定时器,每隔50秒执行一次,实例代码
var c=0;
function showLogin(){
alert(c++);
}
setInterval("showLogin()","50000");
把文本分割成数组循环遍历,用setInterval输出即可
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632
由于使用到动画懒得自己写了,就是用jquery的了 :-)
<textarea id="ta" style="display:none">文字放这里
一行一句话
最好是想弹幕那样
就是说,有一段文字
每隔50秒输出一句话</textarea>
<style>
#dvRst {
width: 500px;
height: 300px;
overflow: hidden;
position: relative;
margin: 10px auto;
border:solid 1px #000;
}
#dvRst .item {
position: absolute;
white-space:nowrap
}
</style>
<div id="dvRst"></div>
<script src="https://g.csdnimg.cn/??lib/jquery/1.12.4/jquery.min.js"></script>
<script>
var lines = $('#ta').val().split('\n'), max = lines.length, cur = 0, dvRst = $('#dvRst'), width = dvRst.width(), height = dvRst.height()-50;
function showLine() {
//随机文字的在容器的顶部位置
var item = $('<div class="item" style="top:' + Math.floor(Math.random() * height) + 'px">' + lines[cur] + '</div>');
dvRst.append(item);
item.css('left',-item.width()+'px')
//jquery动画
item.animate({ left: width},5000, function () { item.remove()});//动画效果时长5秒,其他时间修改5000这个数字,单位为毫秒
cur++;
if (cur >= max) cur = 0;//超过数量,从头开始
}
setInterval(showLine, 3* 1000);///
showLine();
</script>