怎么把一段文本逐句输出

最好是想弹幕那样,就是说,有一段文字,每隔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>