當(dāng)前位置:軟件學(xué)堂 > 資訊首頁 > 網(wǎng)絡(luò)編程 > 編程其他 > JS實現(xiàn)文字的打字效果

JS實現(xiàn)文字的打字效果

2012/10/20 16:19:52作者:佚名來源:網(wǎng)絡(luò)

移動端

【實例名稱】

文字的打字效果

【實例描述】

打字效果是將一段文本逐個文字地顯示,實現(xiàn)打字的效果。本例學(xué)習(xí)如何制作這樣的特效。


【實例代碼】

   <html xmlns="http://www.w3.org/1999/xhtml" > <head>     <title>標(biāo)題頁</title>  <script language=javascript> var layers =document.layers; var style=document.all; var both=layers||style; var idme=908601; if(layers) { layerRef='document.layers';styleRef ='';} if(style) { layerRef='document.all';styleRef = '.style';} //開始參數(shù)的定義 function writeOnText(obj,str) { if(layers)with(document[obj]) { document.open();document.write(str);document.close();} if(style)eval(obj+'.innerHTML=str');  } var dispStr=new Array("證監(jiān)會稱將嚴(yán)查利用內(nèi)幕信息牟取不當(dāng)利益行為!"); //要出現(xiàn)的文本 var overMe=0; //逐字顯示的方法 function txtTyper(str,idx,objId,objStyle,color1,color2,delay,plysnd) { var mystr='',strchar=''; var skip=200; if (both && idx<=str.length) { if (str.charAt(idx)=='<'){ while(str.charAt(idx)!='>') idx++;} if (str.charAt(idx)=='&'&&str.charAt(idx+1)!=' '){ while (str.charAt(idx)!= ';')idx++;} mystr = str.slice(0,idx);   //返回數(shù)組從開始到指定位置的字符串 strchar = str.charAt(idx++);//當(dāng)前地址的字符 if (overMe==0 && plysnd==1) { //針對瀏覽器的不同,調(diào)用不同的顯示方法 if (navigator.plugins[0]){ if(navigator.plugins["LiveAudio"][0].type=="audio/basic" && navigator.javaEnabled()) {document.embeds[0].stop(); setTimeout("document.embeds[0].play(false)",100);} } else if (document.all){ ding.Stop(); setTimeout("ding.Run()",100);} overMe=1;}else overMe=0; writeOnText(objId, "<span class="+objStyle+"><font color='"+color1+"'>"+mystr+"</font><font color='"+color2 +"'>"+strchar+"</font></span>"); setTimeout("txtTyper('"+str+"', "+idx+", '"+objId+"', '"+objStyle+"', '"+color1+"', '"+color2+"', "+delay+" ,"+plysnd+")",delay);}} function init() {txtTyper(dispStr[0], 0, 'div1', 'style1', '#66CCBB', '#000000', 400, 0);} </script>

需要在body中,添加一個div,代碼如下所示: <BODY onload=init()> <DIV class=style1 id=div1></DIV> </BODY> </html>

【運(yùn)行效果】

運(yùn)行效果

【難點(diǎn)剖析】

本例的重點(diǎn)其實是實現(xiàn)這種效果的思路,代碼并不是關(guān)鍵。在本例中,要實現(xiàn)一段文本的打字特效,首先將這段文本放在數(shù)組中,然后利用兩個變量,實現(xiàn)打字和顯示的效果,“打字”變量只是顯示光標(biāo)當(dāng)前的某個字符,而“顯示”變量則顯示當(dāng)前光標(biāo)前所有的字符。

【源碼下載】

本實例JS代碼下載

標(biāo)簽: JS  文字