现在的位置: 首页 > 综合 > 正文

《js-特效_波浪文字》

2018年04月18日 ⁄ 综合 ⁄ 共 2003字 ⁄ 字号 评论关闭

 

<HTML>
<HEAD>
<TITLE>水形文字</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("欢迎光临本网站");
 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>

抱歉!评论已关闭.