136、极具创意的文字显示

136、极具创意的文字显示

脚本说明:

把如下代码加入<body>区域中

<style type="text/css">

.clDivs{position:absolute; width:30; height:30; left:0; font-size:80px; font-weight:bold; font-family:arial black,arial,helvetica; color:#999999; visibility:hidden}

</style>

<script language="JavaScript" type="text/javascript">

function lib_bwcheck(){ //Browsercheck (needed)

       this.ver=navigator.appVersion

       this.agent=navigator.userAgent

       this.dom=document.getElementById?1:0

       this.opera5=this.agent.indexOf("Opera 5")>-1

       this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom && !this.opera5)?1:0;

       this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom && !this.opera5)?1:0;

       this.ie4=(document.all && !this.dom && !this.opera5)?1:0;

       this.ie=this.ie4||this.ie5||this.ie6

       this.mac=this.agent.indexOf("Mac")>-1

       this.ns6=(this.dom && parseInt(this.ver) >= 5) ?1:0;

       this.ns4=(document.layers && !this.dom)?1:0;

       this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.opera5)

       return this

}

var bw=new lib_bwcheck()

 

 

/***************************************************************************

Variables to set.

 

Remember that if you want another font, font-size or whatever you set

that in the .clDivs class in the styletag!

****************************************************************************/

numberOfLetters=11 //How many letters do you have

 

ypos=-100 //The Y position of the letters, relative to the center

 

//The x positions of the letters, relative to center.

//This is the tricky part, when you change font-size or type and letters

//be sure to play with the values in this array, if not your letters

//will not arrange correctly. (note the testing variable)

xpos=new Array()

xpos[0]=-320

xpos[1]=-270

xpos[2]=-220

xpos[3]=-170

xpos[4]=-120

xpos[5]=-70

xpos[6]=-20

xpos[7]=30

xpos[8]=80

xpos[9]=130

xpos[10]=180

 

//To make the xpos a little simpler to set you can set this value to 1

//If you do no animation will happen, but the letters will place themself

//where they will end at the end of the animation.

testing=0

 

//There are 3 different animation you can use.

//Set this variable to 1,2 or 3 for the different ones,

//or set it to 4 for random

animation=4

 

aspeed=10 //The timer animation speed.

 

 

/********************************************************************************

Object constructor

********************************************************************************/

function makeObj(obj,speed,xmove,ymove,works){

       this.el=bw.dom? document.getElementById(obj):bw.ie4?document.all[obj]:bw.ns4?document.layers[obj]:0; 

      this.css=bw.dom || bw.ie4?this.el.style:bw.ns4?this.el:0;

       this.moveIt=b_moveIt;

}

function b_moveIt(x,y){this.x=x; this.y=y; this.css.left=this.x; this.css.top=this.y}

/***************************************************************************

Initiating page and starting animation

****************************************************************************/

var posArray,oZdivs;

function introInit(){

       pageXcenter=bw.op5||bw.ns4 ||bw.ns6?innerWidth/2:document.body.offsetWidth/2

       pageYcenter=bw.op5||bw.ns4||bw.ns6?innerHeight/2:document.body.offsetHeight/2

       oZdivs=new Array()

       for(i=0;i<numberOfLetters;i++){

              oZdivs[i]=new makeObj('div'+i)

              oZdivs[i].moveIt(-200,0)

              oZdivs[i].css.visibility='visible'

       }

       if(animation==4) animation=Math.round(Math.random()*2)+1

       if(!testing) eval('anim'+animation+'(0)')

       else testIt()

}

function testIt(){

       alert(pageYcenter)

       for(i=0;i<oZdivs.length;i++){

           oZdivs[i].moveIt((pageXcenter+xpos[i]),(pageYcenter+ypos))

       }    

}

 

/***************************************************************************

Intro 1

****************************************************************************/

xPath1=new Array(-277,-271,-264,-255,-245,-234,-223,-210,-196,-181,-161,-134,-98,-52,1,53,98,131,151,156,147,124,92,59,0)

yPath1=new Array(-240,-206,-162,-114,-64,-16,29,71,112,151,187,217,241,255,260,254,239,213,179,143,108,77,51,30,0)

function anim1(num,test){

       if(num<oZdivs.length){

              st=test?test:0;

              animX(num,'xPath1','yPath1',aspeed,st,'anim1('+(num+1)+','+st+')')

       }else endanim(0)

}

/***************************************************************************

Intro 2

****************************************************************************/

xPath2=new Array(-285,-270,-255,-240,-225,-210,-195,-180,-165,-150,-135,-120,-105,-90,-75,-60,-45,-30,-15,0)

yPath2=new Array(-353,-344,-335,-324,-312,-299,-285,-270,-254,-236,-218,-198,-177,-155,-132,-108,-83,-56,-29,0)

function anim2(num){

       if(num<oZdivs.length){

              animX(num,'xPath2','yPath2',aspeed,0,'anim2('+(num+1)+')')

       }else endanim(0)

}

/***************************************************************************

Intro 3

****************************************************************************/

xPath3=new Array(0,-2,-6,-13,-23,-36,-50,-66,-83,-100,-117,-134,-150,-164,-177,-187,-194,-198,-200,-198,-194,-187,-177,-164,-150,-134,-117,-100,-83,-66,-50,-36,-23,-13,-6,-2,0)

yPath3=new Array(0,-17,-34,-50,-64,-77,-87,-94,-98,-100,-98,-94,-87,-77,-64,-50,-34,-17,0,17,34,50,64,77,87,94,98,100,98,94,87,77,64,50,34,17,0)

function anim3(num){

       if(num<oZdivs.length){

              animX(num,'xPath3','yPath3',aspeed,0,'anim3('+(num+1)+')')

       }else endanim(0)

}

/***************************************************************************

Animation function

****************************************************************************/

function animX(divnum,arrayX,arrayY,speed,num,fn){

       arrayXr = new Array(); arrayYr = new Array()

       arrayXr = eval(arrayX); arrayYr = eval(arrayY)

       arrayX = "'"+arrayX+"'"; arrayY = "'"+arrayY+"'"

       if(num<arrayXr.length){

           oZdivs[divnum].moveIt(arrayXr[num]+(pageXcenter+xpos[divnum]),arrayYr[num]+(pageYcenter+ypos))

              num++;

              setTimeout("animX("+divnum+","+arrayX+","+arrayY+","+speed+","+num+",'"+fn+"')",speed)

       }else eval(fn)

}

/***************************************************************************

This is what happens when the animation is over. If

you want something else to happen edit here!

****************************************************************************/

function endanim(num){

       if(num<oZdivs.length){

              oZdivs[num].css.visibility='hidden' //Hiding divs

              num++

              setTimeout("endanim("+num+")",300)

       }else{

              //location.href="main2.html" //Going to another page

       }

}

 

/***************************************************************************

Starting the intro when the page is loaded.

****************************************************************************/

 

onload=introInit;

</script>

 

<div id="div0" class="clDivs">J</div>

<div id="div1" class="clDivs">a</div>

<div id="div2" class="clDivs">v</div>

<div id="div3" class="clDivs">a</div>

<div id="div4" class="clDivs">S</div>

<div id="div5" class="clDivs">c</div>

<div id="div6" class="clDivs">r</div>

<div id="div7" class="clDivs">i</div>

<div id="div8" class="clDivs">p</div>

<div id="div9" class="clDivs">t</div>

<div id="div10" class="clDivs">!</div>

 

Write a comment

Comments: 0