JavaScript ~ 動態文字效果
| (1) 將以下資料複製到 html 檔案的 <head> 標記下: |
| <Script Language="Javascript"> <!-- Hiding bname=navigator.appName; bversion=parseInt(navigator.appVersion) if ((bname=="Netscape" && bversion>=4) || (bname=="Microsoft Internet Explorer" && bversion>=4)){ if (bname=="Netscape"){ brows=true dt=1 } else{ brows=false dt=40 } var z=0; var msg=0; var rgb=0; var status=true; var updwn=false; var message= new Array(); var value=0; var timer1; var timer2; var timer3; var convert = new Array() var hexbase= new Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"); // 以下加入顯示的文字,可以隨意添加,只是不要改變其他內容. var bgcolor="#FFFFFF"; //背景色 var color="#669933"; //字元顏色 message[0]='Welcome to my homepage!!!' message[1]='這是動態文字特效示範' message[2]='完全支援 IE 4 and Netscape 4' message[3]='你會看見文字像電影字幕一般,時隱時現' message[4]='是不是很有趣呢?' message[5]='還不快快動手做一個!' // 以上是顯示的文字,可以隨意添加,只是不要改變其他內容. for (x=0; x<16; x++){ for (y=0; y<16; y++){ convert[value]= hexbase[x] + hexbase[y]; value++; } } redx=color.substring(1,3); greenx=color.substring(3,5); bluex=color.substring(5,7); hred=eval(parseInt(redx,16)); hgreen=eval(parseInt(greenx,16)); hblue=eval(parseInt(bluex,16)); eredx=bgcolor.substring(1,3); egreenx=bgcolor.substring(3,5); ebluex=bgcolor.substring(5,7); ered=eval(parseInt(eredx,16)); egreen=eval(parseInt(egreenx,16)); eblue=eval(parseInt(ebluex,16)); red=ered; green=egreen; blue=eblue; function start(){ if ((bname=="Netscape" && bversion>=4) || (bname=="Microsoft Internet Explorer" && bversion>=4)){ if (brows) res=document.layers['textanim'].top else res=textanim.style.top updwn=true; timer1=window.setInterval('up()',dt) } } function stop(){ if ((bname=="Netscape" && bversion>=4) || (bname=="Microsoft Internet Explorer" && bversion>=4)){ window.clearInterval(timer1); window.clearInterval(timer2); window.clearTimeout(timer3); } } function breakf(){ if (status){ window.clearInterval(timer1); window.clearInterval(timer2); window.clearTimeout(timer3); status=false return; } else{ if (updwn) timer1=window.setInterval('up()',dt) else timer2=window.setInterval('down()',dt) status=true; } } function up(){ if (red<hred){ if ((red+15)<hred){ red+=15; redx = convert[red] } else{ red=hred redx = convert[red] } } if (red>hred){ if ((red-15)>hred){ red-=15; redx = convert[red] } else{ red=hred redx = convert[red] } } if (green<hgreen){ if ((green+15)<hgreen){ green+=15; greenx = convert[green] } else{ green=hgreen greenx = convert[green] } } if (green>hgreen){ if ((green-15)>hgreen){ green-=15; greenx = convert[green] } else{ green=hgreen greenx = convert[green] } } if (blue<hblue){ if ((blue+15)<hblue){ blue+=15; bluex = convert[blue] } else{ blue=hblue bluex = convert[blue] } } if (blue>hblue){ if ((blue-15)>hblue){ blue-=15; bluex = convert[blue] } else{ blue=hblue bluex = convert[blue] } } rgb = "#"+redx+greenx+bluex; if (brows){ document.layers['textanim'].document.linkColor=rgb; document.layers['textanim'].document.vlinkColor=rgb; document.layers['textanim'].document.writeln('<Pre><P Class="main" Align="Center"><font color="'+rgb+'">'+message[msg]+'</font></P></Pre>') document.layers['textanim'].document.close(); } else{ textanim.document.linkColor=rgb; textanim.document.vlinkColor=rgb; textanim.innerHTML='<Pre><P Class="main" Align="Center"><font color="'+rgb+'">'+message[msg]+'</font></P></Pre>' } if (z<19){ if (brows) document.layers['textanim'].top-=2 else textanim.style.posTop-=2 z++ } else { updwn=false; window.clearInterval(timer1); timer2=window.setInterval('down()',dt) } } function down(){ if (red<ered){ if ((red+15)<ered){ red+=15; redx = convert[red] } else{ red=ered redx = convert[red] } } if (red>ered){ if ((red-15)>ered){ red-=15; redx = convert[red] } else{ red=ered redx = convert[red] } } if (green<egreen){ if ((green+15)<egreen){ green+=15; greenx = convert[green] } else{ green=egreen greenx = convert[green] } } if (green>egreen){ if ((green-15)>egreen){ green-=15; greenx = convert[green] } else{ green=egreen greenx = convert[green] } } if (blue<eblue){ if ((blue+15)<eblue){ blue+=15; bluex = convert[blue] } else{ blue=eblue bluex = convert[blue] } } if (blue>eblue){ if ((blue-15)>eblue){ blue-=15; bluex = convert[blue] } else{ blue=eblue bluex = convert[blue] } } rgb = "#"+redx+greenx+bluex; if (brows){ document.layers['textanim'].document.linkColor=rgb; document.layers['textanim'].document.vlinkColor=rgb; document.layers['textanim'].document.writeln('<Pre><P Class="main" Align="Center"><font color="'+rgb+'">'+message[msg]+'</font></P></Pre>') document.layers['textanim'].document.close(); } else{ textanim.document.linkColor=rgb; textanim.document.vlinkColor=rgb; textanim.innerHTML='<Pre><P Class="main" Align="Center"><font color="'+rgb+'">'+message[msg]+'</font></P></Pre>' } if (z<38){ if (brows) document.layers['textanim'].top-=2 else textanim.style.posTop-=2 z++ } else { if (brows){ document.layers['textanim'].document.writeln('') document.layers['textanim'].document.close(); } else textanim.innerHTML=''; window.clearInterval(timer2); if(msg<message.length-1){ msg++; z=0; if (brows) document.layers['textanim'].top=res; else textanim.style.top=res; timer3=window.setTimeout('start()',100); } else { msg=0; z=0; if (brows) document.layers['textanim'].top=res; else textanim.style.top=res; timer3=window.setTimeout('start()',2000); } } } } // done hiding --> </Script> <style type="text/css"> <!-- A:LINK { text-decoration : none; } A:VISITED { text-decoration : none; } P.main { font-family : Comic Sans Ms; font-size : 16pt; font-weight : bold; } --> </style> |
| (2) 在 body onload 加上以下字句: |
| <BODY BGCOLOR="#FFFFFF" LINK="#FF0000" VLINK="#FF0000" ALINK="#FFFF00" TEXT="#000000" onLoad="start()" onUnload="stop()"> |
| (3) 最後將以下資料複製到 html 檔案的 <body> 標記下: |
| <div id="textanim" style="position: absolute; left: 18px; top: 221px" onClick="breakf()"> </div> |