A5下载 - 努力做内容最丰富最安全的下载站!

A5站长下载站

当前位置:A5下载 > 编程开发 > 网站开发 > JS实现文字掉落效果的方法

JS实现文字掉落效果的方法

时间:2015-05-07 08:54作者:zhao人气:68

本文实例讲述了JS实现文字掉落效果的方法。分享给大家供大家参考。具体实现方法如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru">

<head>

<title></title>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<script src="jquery-1.6.2.min.js" type="text/javascript"></script>

<style type="text/css">

.canvas{

width:500px;

height:500px;

position:relative;

}

</style>

</head>

<body>

<div>

<input type="button" onclick="javascript:falling.init();" value="GO" />

</div>

<div class="canvas" id="canvas"></div>

<script type="text/javascript">

/*

*坠落效果

*/

function Falling(){

this.dict=["abcd","2222","sign","next","container","content","last","break","less","than","that","absolute","relative","my","index","html","java","c#","web","javascript","php","include","shit","bull","big","smart","call","apply","callee","caller","function"];

this.canvas=$("#canvas");

this.step=15;

this.freq=10;

this.height=500;

this.width=500;

this.si=null;

}

Falling.prototype={

fallingAction:function(dom){

var self=this;

var freqs=[10,15,20];//每次下落的距离

var disS=[];//记录所有dom的当前距离

var disPerFreqS=[];//每个dom的

var targetDis=500;

var domCssTopS=[];//所有dom的top属性

var successDom=[];//记录哪些dom已经结束运动

var successCount=0;//有多少个dom已经结束

var total=dom.length;

var freqMarkLength=freqs.length;

for(var i=0,j=dom.length;i<j;i++){

domCssTopS[i]=dom[i].position().top;

disS[i]=0;

disPerFreqS[i]=freqs[parseInt(Math.random()*freqMarkLength)];

}

self.si=setInterval(function(){

if(successCount>=total){

clearInterval(self.si);

}

for(var i=0,j=dom.length;i<j;i++){

if(typeof(successDom[i])!="undefined" && successDom[i]=="ok"){

continue;

}

disS[i] += disPerFreqS[i];

if(disS[i] >= targetDis){

dom[i].css("top", targetDis+domCssTopS[i]);

successDom[i]="ok";

successCount++;;

}else{

dom[i].css("top", disS[i]+domCssTopS[i]);

}

}

},self.freq);

},

init:function(){

var self=this;

self.canvas.html('');

var dom=[];

var l=0;

var t=0;

var tempDom=$("<div style='position;absolute;left:-100000;visibility:hidden'></div>").appendTo($("body"));

for(var i=0,j=self.dict.length;i<j;i++){

dom[i]=$("<span style='position:absolute'>"+self.dict[i]+"</span>").appendTo(tempDom);

var domWidth=dom[i].width();

var domHeight=dom[i].height();

if(t<self.height){

if(l<self.width){

if(domWidth+l<=self.width){

dom[i].css({"top":t,"left":l});

self.canvas.append(dom[i]);

l += dom[i].width();

}else{

if(domHeight+t<=self.height){

t=t+domHeight;

dom[i].css({"top":t,"left":0});

self.canvas.append(dom[i]);

l = dom[i].width();

}else{

break;//到极限了

}

}

}else{

if(domHeight+t<=self.height){

t=t+domHeight;

l=0;

dom[i].css({"top":t,"left":l});

self.canvas.append(dom[i]);

}else{

break;//到极限了

}

}

}//else极限

}

/*

for(var i=0,l=self.dict.length;i<l;i++){

self.fallingAction(dom[i]);

}

*/

self.fallingAction(dom);

}

}

var falling=new Falling();

falling.init();

</script>

</body>

</html>

希望本文所述对大家的javascript程序设计有所帮助。

 

标签实现,文字,掉落,效果,方法,本文,实例,讲述了,实现,文字

相关下载

查看所有评论+

网友评论

网友
您的评论需要经过审核才能显示

公众号