当前位置:K88软件开发文章中心编程全书编程全书01 → 文章内容

具有波纹效果的文字

减小字体 增大字体 作者:佚名  来源:翔宇亭IT乐园  发布时间:2019-1-3 1:15:22

:2010-11-11 22:35:57

本特效演示了多个文本的波纹效果,非常好!

<HTML>
<HEAD>
<TITLE>具有波纹效果的文字(翔宇亭IT乐园—k88.net)</TITLE>
<STYLE>
DIV {width: 609; font-size: 40pt; font-family: Tahoma;font-weight: bold;}
</STYLE>
<SCRIPT LANGUAGE="JavaScript">
var count=0; var thePhase=0; var aniOn=0;
var theStrength=0;var maxCount=40;var maxStrength=100;var theCount=0;
var colorList=new Array("red", "blue", "green");
var oDiv=null;
var oQueue=new Array();
function doStart(obj)
{
oDiv=obj;
oQueue.push("Welcome to k88.net!");
oQueue.push("Hello Friends!");
oQueue.push("I love you");
if(obj==null)return;
if(!oQueue.length)return;
oDiv.innerHTML=oQueue.shift();
var ctrlRng=document.body.createControlRange()
ctrlRng.add(oDiv)
ctrlRng.select();
ctrlRng.execCommand("SelectAll")
theCount=0;
doFilt();
}

function getStrength(pos)
{
var ret=0
if(pos<maxCount)
{
ret=maxStrength*pos*pos/(maxCount*maxCount);
}
else if(pos==maxCount)
{
strNext=oQueue.shift()
oDiv.innerHTML=strNext;
rndNum=Math.floor(Math.random() * 3)
oDiv.style.filter+="glow(color=" + colorList[rndNum] + ", strength=5)"
ret=maxStrength;
}
else if(pos<2*maxCount)
{
pos=2*maxCount-pos;
ret=maxStrength*pos*pos/(maxCount*maxCount);
}
else
ret=0;
ret=Math.ceil(ret)
return ret;
}

function anitext(){
thePhase=(thePhase + 10)
oDiv.filters[0].phase=thePhase
theStrength=getStrength(++theCount);
window.status=theStrength
if(theStrength==0)theCount=0;

if(oQueue.length>0 || theStrength>0)
{
oDiv.filters[0].strength=theStrength;
oTO=window.setTimeout("anitext()",0200,"JavaScript")
}
}

function doFilt(){
oDiv.style.filter="wave(add=0, freq=3, lightstrength=50, phase=0, strength=2, enabled=1); "
rndNum=Math.floor(Math.random() * 3)
oDiv.style.filter+="glow(color=" + colorList[rndNum] + ", strength=5)"
anitext()
}

function removeFilt(){
window.clearTimeout(oTO)
oDiv.style.filter=" "
}

function arrPush(item)
{
this[this.length]=item;
}

function arrShift()
{
var item=this[0];
var nLen=this.length;
for(var i=0;i<nLen-1;i++)
this[i]=this[i+1];
this.length--;
return item;
}

Array.prototype.push=arrPush;
Array.prototype.shift=arrShift;

</SCRIPT>
</HEAD>
<BODY onload="doStart(MyDiv)">
<DIV ID="MyDiv" align="center">
</DIV>
</BODY>
</HTML>



具有波纹效果的文字