成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

jQuery 煙花效果(運動相關)

開發 前端
0-16777215。有了這個范圍就可以利用隨機數,生成在這個范圍內的色值了。當然最后還是要轉成十六進制,并且不要忘記在色值前面加"#"號。

效果圖

  1. $(function(){  
  2.     $(document).click(function(event){  
  3.         /*1.創建DIV并插入到body當中  
  4.         *2.設置其初始位置:TOP為屏幕的高度,left為鼠標點擊時,鼠標的pageX值;  
  5.         */ 
  6.         //創建DIV  
  7.         var $div = $("<div/>");  
  8.         var eLeft = event.pageX;  
  9.         var etop = event.pageY;  
  10.         var cHeight = document.documentElement.clientHeight;  
  11.         //設定顏色、大小,和其初始化的位置  
  12.         $div.css({"width":4,"height":15,"background-color":"red","top":cHeight,"left":eLeft});  
  13.         //插入到頁面的body當中去;  
  14.         $("body").append($div);  
  15.         //不要出現滾動條  
  16.         $("body").css("overflow","hidden");  
  17.         //讓DIV向上移動,并且移動到鼠標位置后,刪除這個DIV元素,之后執行煙花效果;  
  18.         $div.animate({"top":etop},700,function(){  
  19.             //移除DIV  
  20.             $(this).remove();  
  21.             /*煙花效果  
  22.             *1.煙花是很多個DIV構成  
  23.             *2.每個煙花的顏色不一樣  
  24.             *3.煙花的位置也不一樣  
  25.             *4.煙花散開方向不一樣  
  26.             *5.煙花有下墜感覺  
  27.             */ 
  28.             //用循環造建很多個DIV,來表示煙花  
  29.             for(i=0;i<20;i++){  
  30.                 $("body").append($("<div class='yh'></div>"));  
  31.             }  
  32.             /*煙花的顏色是隨機的,而且是用16進制表示色值,所以用隨機數結合16進制;  
  33.             *16進制的最大值ffffff,轉換成十進制16777215;  
  34.             *Math.random()*16777215公式可以得到0-16777215之間的數,因為是小數,所以要用到取整;  
  35.             *Math.ceil(Math.random()*16777215)生成一個在顏色值范圍內的,隨機的十進制值;  
  36.             *Math.random()*9+1公式可以得到1-10之間的數,以此類推  
  37.             *.toString(16)方法,是把得到的十進制,轉換成16進制,也就是隨機的顏色值了;  
  38.             */ 
  39.               
  40.             var sjColor = "" 
  41.             function changColor(){  
  42.                 sjColor = Math.ceil(Math.random()*16777215).toString(16)//;  
  43.                 //當這個產生的隨機的顏色值,不足6位數的進候,需要補齊,又不改變其值,所以要在這個數的前面加零;  
  44.                 while(sjColor.length<6){  
  45.                     sjColor = "0"+sjColor;  
  46.                 }  
  47.             }  
  48.               
  49.  
  50.             //設置煙花DIV的顏色和位置、散開,墜落  
  51.             $(".yh").css({"width":3,"height":3,"top":etop,"left":eLeft});  
  52.             /*煙花散開要設左和上  
  53.             *Math.random()*20-20這里要減20,是因為煙花是從中心點的左右散開的,  
  54.             *最小隨機數時0-10 = -10,最大隨機數時20-10=10;所以就是正負10之間  
  55.             */ 
  56.             $(".yh").each(function(index, element) {  
  57.                 var $this = $(this);  
  58.                 changColor()  
  59.                 var yhX = Math.random()*400-200;  
  60.                 var yhY = Math.random()*600-300;  
  61.                 $this.  
  62.                 css({"background-color":"#"+sjColor,"width":3,"height":3}).  
  63.                 animate({"top":etop-yhY,"left":eLeft-yhX},500);//散開  
  64.                 for(i=0;i<30;i++){  
  65.                     //判斷鼠標點擊時的右邊煙花還是左邊煙花  
  66.                     if(yhX<0){  
  67.                         downPw($this,"+");//右下墜  
  68.                     }else{  
  69.                         downPw($this,"-");//左下墜  
  70.                     }  
  71.                 }  
  72.                   
  73.                 //下墜效果,即同時改變煙花元素的X和Y,會有拋物線感覺,然后完成動畫后,刪除這個煙花元素  
  74.                 function downPw(odiv,f){  
  75.                     odiv.animate({"top":"+=30","left":f+"=4"},50,function(){  
  76.                                 setTimeout(function(){odiv.remove()},2000);  
  77.                     })  
  78.                 }  
  79.             });  
  80.         });          
  81.     })  
  82. }) 

先上代碼和效果圖,具體的功能詳解將在第二頁中講到。

#p#

一、功能

點擊頁面出現上圖的效果,并下墜。

二、功能分析

1.點擊時創建DIV并插入到body當中

2.煙花是很多個DIV構成,所以同時也要創建這些DIV

3.每個煙花的顏色不一樣,所以需要隨機函數處理顏色值

4.煙花的位置也不一樣,所以也需要隨機函數處理位置

5.煙花散開方向不一樣

6.煙花要下墜感覺

三、總結:

3.1.隨機數 Math.random()零到一之間的數;

3.11Math.random()乘以任意一個數,結果就是0-這個乘數之間的值,

Math.random()*9 結果就是0-9之間的數

3.12如果要讓起始值為別一個指定的數,不為零,就加上這一個數;

Math.random()*8+2 結果就是2-10之間的數

3.13如果要想正負之間的數,就減去乘數的一半

Math.random()*8-4,其結果就是+4和-4之間的數

3.2運動核心

3.21就是讓元素在當前頁面中的X坐標,或Y坐標 發生改變(加、減、乘、除等,只要能讓這個值改變的運算,都行)

3.22怎么改變才能看起來是運動的呢?

每次改變時,都是參考元素當前的X或Y坐標。(因為每一次的改變,這個元素的坐標就會變化)所以始終都要獲取到當前這個元素改變之后的X或Y坐標值。

3.3隨機顏色值

顏色值,是十六進制數。而這個值也是有范圍的,所以我們要先取得其范圍。

000000-FFFFFF。然后要轉換成十進制的范圍

0-16777215。有了這個范圍就可以利用隨機數,生成在這個范圍內的色值了。當然最后還是要轉成十六進制,并且不要忘記在色值前面加"#"號

3.4下墜感

其實就是讓元素有,一個拋物線的變化,即讓元素的X和Y的值,同時間變化。

(在使用setTimeout的時候,里面的this,不要指向錯了!~~)

DEMO下載

 

責任編輯:張偉 來源: 船長op的博客
相關推薦

2019-12-26 09:46:26

工具代碼開發

2012-04-26 10:56:05

jQuery效果

2021-10-26 15:22:52

鴻蒙HarmonyOS應用

2010-09-07 09:30:25

DIV彈出jQuery

2012-05-30 10:43:47

jQuery

2010-03-17 16:49:40

Java綠色線程

2009-09-23 17:19:19

jQuery頁面漸顯效

2012-06-05 09:38:39

PHP

2011-03-30 14:33:57

jQueryJavaScript

2009-07-17 17:33:22

jQuery

2010-01-05 13:54:32

Jquery Json

2012-08-22 10:28:03

jQuery

2012-05-09 13:45:04

jQuery

2012-10-08 10:27:56

jQueryJSJavaScript

2012-04-10 10:41:59

jQueryASP.NET

2011-04-15 09:29:20

jQueryFlash

2011-09-14 16:40:44

jQuery

2012-04-09 10:34:21

jQuery

2012-06-19 14:42:02

jQuery
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91精品国产综合久久婷婷香蕉 | 国产传媒在线播放 | 国产一区在线免费 | 操网站| 国产免费人成xvideos视频 | 亚洲精品一区中文字幕乱码 | 国内自拍视频在线观看 | 日本视频免费观看 | 久久岛国| 天天综合网7799精品 | 成人在线视频免费观看 | 欧美久久久久久 | 人人人艹 | 日韩精品视频中文字幕 | 国产精品国产a | 人人人人干 | 精品一区二区三区在线播放 | 久艹av| 国产日韩久久 | 亚洲在线一区 | 成人在线中文字幕 | 欧美精品1区2区3区 精品国产欧美一区二区 | 一区二区三区四区免费在线观看 | 欧美日韩一卡二卡 | 中文字幕精品一区二区三区精品 | 岛国午夜 | 亚洲日本国产 | 中日韩av | 91国在线 | 国产成人一区二 | 久久综合久久综合久久 | 国产精品一区在线 | 日韩中文字幕一区二区 | 蜜桃av人人夜夜澡人人爽 | 中文字幕一区二区三区四区五区 | 欧美九九| 成人免费黄视频 | 成人二区 | 夜夜爽99久久国产综合精品女不卡 | 日韩高清黄色 | 国产免费视频 |