欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JS實現(xiàn)文字掉落效果的方法

 更新時間:2015年05月06日 17:46:10   投稿:shichen2014  
這篇文章主要介紹了JS實現(xiàn)文字掉落效果的方法,可實現(xiàn)文字往下掉落最終排序正常顯示的效果,具有一定參考借鑒價值,需要的朋友可以參考下

本文實例講述了JS實現(xiàn)文字掉落效果的方法。分享給大家供大家參考。具體實現(xiàn)方法如下:

<!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已經(jīng)結(jié)束運動
  var successCount=0;//有多少個dom已經(jīng)結(jié)束
  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程序設(shè)計有所幫助。

相關(guān)文章

  • JavaScript 繼承的實現(xiàn)

    JavaScript 繼承的實現(xiàn)

    正因為JavaScript本身沒有完整的類和繼承的實現(xiàn),并且我們也看到通過手工實現(xiàn)的方式存在很多問題, 因此對于這個富有挑戰(zhàn)性的任務(wù)網(wǎng)上已經(jīng)有很多實現(xiàn)了
    2009-07-07
  • JavaScript實現(xiàn)DIV層拖動及動態(tài)增加新層的方法

    JavaScript實現(xiàn)DIV層拖動及動態(tài)增加新層的方法

    這篇文章主要介紹了JavaScript實現(xiàn)DIV層拖動及動態(tài)增加新層的方法,設(shè)計javascript操作div層的拖動與增加的相關(guān)技巧,需要的朋友可以參考下
    2015-05-05
  • JavaScript實現(xiàn)頁面動態(tài)驗證碼的實現(xiàn)示例

    JavaScript實現(xiàn)頁面動態(tài)驗證碼的實現(xiàn)示例

    這篇文章主要介紹了JavaScript實現(xiàn)頁面動態(tài)驗證碼的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • javascript利用控件對windows的操作實現(xiàn)原理與應(yīng)用

    javascript利用控件對windows的操作實現(xiàn)原理與應(yīng)用

    假如要發(fā)送漢字的聊天框的內(nèi)容的話,我們也要從windows消息機制下手,先找到聊天消息的句柄(可以利用findwindow函數(shù)或者用spy工具哈),然后在找到上面的聊天框的句柄,接著我們就可以想這個句柄發(fā)送WM_SETTEXT的消息了
    2012-12-12
  • js實現(xiàn)貪吃蛇小游戲

    js實現(xiàn)貪吃蛇小游戲

    這篇文章主要為大家詳細介紹了js實現(xiàn)貪吃蛇小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • javascript 客戶端驗證上傳圖片的大?。嫒軮E和火狐)

    javascript 客戶端驗證上傳圖片的大小(兼容IE和火狐)

    做web開發(fā)的哥們都會遇到批量上傳圖片的需求,相信大家都會遇到這樣的問題,當選擇好要上傳的圖片,提交服務(wù)器后,發(fā)現(xiàn)有圖片的大小超過了系統(tǒng)允許的范圍。
    2009-08-08
  • webpack打包中path.resolve(__dirname, 'dist')的含義解析

    webpack打包中path.resolve(__dirname, 'dist')的含義解

    這篇文章主要介紹了webpack打包中path.resolve(__dirname, 'dist')的含義解析,path:path.resolve(__dirname, 'dist')就是在打包之后的文件夾上拼接了一個文件夾,在打包時,直接生成,本文給大家講解的非常詳細,需要的朋友可以參考下
    2023-05-05
  • 基于HTML模板和JSON數(shù)據(jù)的JavaScript交互(移動端)

    基于HTML模板和JSON數(shù)據(jù)的JavaScript交互(移動端)

    這篇文章主要介紹了基于HTML模板和JSON數(shù)據(jù)的JavaScript交互(移動端)的相關(guān)資料,需要的朋友可以參考下
    2016-04-04
  • 純CSS3代碼實現(xiàn)滑動開關(guān)效果

    純CSS3代碼實現(xiàn)滑動開關(guān)效果

    CSS33D炫酷左右滑動開關(guān)按鈕是一款非常酷的CSS3 3D開關(guān)按鈕,點擊按鈕可以左右滑動,就像開關(guān)打開閉合一樣的效果,通過本篇文章給大家介紹純CSS3代碼實現(xiàn)滑動開關(guān)效果,需要的朋友可以參考下
    2015-08-08
  • ES6通過babel轉(zhuǎn)碼使用webpack使用import關(guān)鍵字

    ES6通過babel轉(zhuǎn)碼使用webpack使用import關(guān)鍵字

    這篇文章主要介紹了es6通過babel轉(zhuǎn)碼還需要使用webpack才可以使用import關(guān)鍵字嗎的相關(guān)資料,需要的朋友可以參考下
    2016-12-12

最新評論