JavaScript 实现打字机效果,跑马灯效果

时间: 2018-07-04阅读: 199标签: 效果

这篇文章在不使用任何插件的情况,以最简洁的原生javascript来实现打字机效果和跑马灯效果。


一、打字效果

打字效果即把一段话一个字一个字的显示出来。首先规定好显示字数的速度即settimeout执行间隔用来控制每个字之间输出速度。循环总字数来实现一个字一个字的输出。  

html:

<form name="tickform">
    <textarea name="tickfield" rows="5" cols="100"> cool</textarea>
</form>
<button onclick="doTyping()">开始打字</button>  

javacript:

var str = "罗斯参加了全场个人训练,期间他与骑士助教和训练师们共同进行了一些小规模的对抗训练。\罗斯说道:“我感觉不错,每天都在跑动,每天都在调整身体状态。我没再感到任何疼痛了,也没有出现任何伤情反复。每一天,每一周我都在取得进展,所以我处于正确的轨道之中";
var i = 0 ;
var interId = null;
function typing(){
    var textField  = document.tickform.tickfield;
    if(i <= str.length){
        console.log(str.slice(0,i++)); //截取从0 到当前位置
        textField.value = str.slice(0,i++) + "_";


    }else{//字已打完

        textField.value = str;
       window.clearInterval(interId);//清除定时器
    }
}
function doTyping(){
    interId = setInterval("typing()",200);
}



二、跑马灯效果: 

var id ,pause = 0 ,posit = 0;
function banner(){
    var i,k;
    var msg = "你好,欢迎使用javascript,这里介绍文字的跑马灯效果";
    var speed = 10;
    var xc = document.tickform.tickfield;
    xc.value = msg.substr(posit,posit + 160); //从postion 开始截取 而后赋值
    console.log(xc.value);
    if(posit ++ == msg.length){
        posit = 0 ;
    }
    id = setTimeout("banner()",2000/speed);
}