一个朋友急着用,所以写了这个效果,代码还有改进得地方,大家可以尝试去修改以使更简洁,然后帖出来大家一起分享
New Document body{margin:0px;font:"宋体" 12px; background-color:#000; color:#fff} var typer={ container : null, speed : 100 , innerHTML : null , curpos : 0, interval1 : null, interval2 : null, init : function(obj,speed){ typer.container = obj; if(speed)typer.speed = speed; typer.start(); }, start : function(){ typer.innerHTML = clearSpace(typer.container.innerHTML).toLowerCase(); typer.container.innerHTML = ""; typer.interval1 = setInterval("typer.type()",typer.speed); }, type : function(){ if(typer.curpos=typer.curpos+4){ if(typer.innerHTML.substring(typer.curpos,typer.curpos+4)=="
") { tempStr="
"; typer.curpos = typer.curpos+4; }else if(typer.innerHTML.substring(typer.curpos,typer.curpos+4)==""){ tempStr=""; typer.curpos = typer.curpos+4; }else{ if(typer.innerHTML.length>=typer.curpos+3 && typer.innerHTML.substring(typer.curpos,typer.curpos+3)=="
"){ tempStr="
"; typer.curpos = typer.curpos+3; }else{ tempStr=typer.innerHTML.substring(typer.curpos,typer.curpos+1); typer.curpos++; } } }else if(typer.innerHTML.length>=typer.curpos+3){ if(typer.innerHTML.substring(typer.curpos,typer.curpos+3)=="
"){ tempStr="
"; typer.curpos = typer.curpos+3; }else{ tempStr=typer.innerHTML.substring(typer.curpos,typer.curpos+1); typer.curpos++; } }else{ tempStr=typer.innerHTML.substring(typer.curpos,typer.curpos+1); typer.curpos++; } typer.container.innerHTML = typer.container.innerHTML.substring(0,typer.container.innerHTML.length-1)+tempStr; } }else{ clearInterval(typer.interval1); typer.interval2 = setInterval("typer.last()",typer.speed); } }, last : function(){ if(typer.container.innerHTML.substring(typer.container.innerHTML.length-1)!="_") typer.container.innerHTML +="_"; else typer.container.innerHTML = typer.container.innerHTML.substring(0,typer.container.innerHTML.length-1); } } function clearSpace(str){ if(str!=""){ str = str.replace(/^s*/g,"").replace(/s*$/g,""); } return str; } 姓名: 冷风 Email: cityvoice@hotmail.com 籍贯: 湖南
爱好:打球,旅游,玩星际,唱歌
[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]