分享

极具创意的文字显示——网页特效

 荷花小女子 2011-03-23

极具创意的文字显示——网页特效:

脚本说明:
把如下代码加入<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>

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约