国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

含羞默默一張一合效果

開發 前端
實現思想主要分為幾部分:隨機生成顏色值、生成“田”字。當鼠標移動到每個span上時尖尖縮小,然后慢慢張開。主要采用jquery中的animate函數。控制width,height,left,top的值。

含羞默默一張一合效果---田

首先展示“田”字效果

實現思想主要分為幾部分

隨機生成顏色值

  1. var getRandomColor = function(){  
  2.     return  '#' +  
  3.         (function(color){  
  4.         return (color +=  '0123456789abcdef'[Math.floor(Math.random()*16)])  
  5.             && (color.length == 6) ?  color : arguments.callee(color);  
  6.     })('');  

創建span標簽,插入div中。

creSpan函數,n指當前個數,mpid指父容器div,mleft指當前span的left的值,mtop指當前span的top值

  1. function creSpan(n,mpId,mleft,mtop){  
  2.     var mSpan = document.createElement("span");    
  3.     var pId = mpId[0];  
  4.     pId.appendChild(mSpan);  
  5.     with(mSpan.style){  
  6.         left = mleft+"px";  
  7.         top = mtop+"px";  
  8.         background = getRandomColor();  
  9.     }  

生成“田”字

創建一個二維數組保存每個creSpan的對象。myleft=100,mtop=50 默認初始值距左距頂的距離。

畫“田”字,使用雙重循環生成。

  1. var myleft = 100;  
  2. var mytop = 50;  
  3. var arr = new Array();  
  4. var test =  $("#test");  
  5. for(var j=0;j<23;j++){  
  6.     arr[j] = new Array();  
  7.     if(j<3){  
  8.         for(var i=0;i<19;i++){  
  9.             myleft+=32;  
  10.             arr[j][i] = new creSpan((j+1)*(i+1),test,myleft,mytop);  
  11.         }  
  12.     }  
  13.     else if(j>2&&j<10){  
  14.         for(var i=0;i<19;i++){  
  15.             myleft+=32;  
  16.             if(i<3){  
  17.                 arr[j][i] = new creSpan((j+1)*(i+1),test,myleft,mytop);  
  18.             }  
  19.             else if(i>7&&i<11){  
  20.                 arr[j][i] = new creSpan((j+1)*(i+1),test,myleft,mytop);  
  21.             }  
  22.             else if(i>15){  
  23.                 arr[j][i] = new creSpan((j+1)*(i+1),test,myleft,mytop);  
  24.             }  
  25.         }  
  26.     }  
  27.     else if(j>9&&j<13){  
  28.         for(var i=0;i<19;i++){  
  29.             myleft+=32;  
  30.             arr[j][i] = new creSpan((j+1)*(i+1),test,myleft,mytop);  
  31.         }  
  32.     }  
  33.     else if(j>12&&j<20){  
  34.         for(var i=0;i<19;i++){  
  35.             myleft+=32;  
  36.             if(i<3){  
  37.                 arr[j][i] = new creSpan((j+1)*(i+1),test,myleft,mytop);  
  38.             }  
  39.             else if(i>7&&i<11){  
  40.                 arr[j][i] = new creSpan((j+1)*(i+1),test,myleft,mytop);  
  41.             }  
  42.             else if(i>15){  
  43.                 arr[j][i] = new creSpan((j+1)*(i+1),test,myleft,mytop);  
  44.             }  
  45.         }  
  46.     }  
  47.     else{  
  48.         for(var i=0;i<19;i++){  
  49.             myleft+=32;  
  50.             arr[j][i] = new creSpan((j+1)*(i+1),test,myleft,mytop);  
  51.         }  
  52.     }  
  53.     mytop+=32;  
  54.     myleft=100;  

當鼠標移動到每個span上時尖尖縮小,然后慢慢張開。

主要采用jquery中的animate函數。控制width,height,left,top的值。

  1. $.each($("#test span"),function(k,v){  
  2.     $(this).mouseover(function(){  
  3.         $(this).animate({  
  4.             width:"10px",  
  5.             height:"10px",  
  6.             left:"+="+parseInt(30-20)/2+"px",  
  7.             top:"+="+parseInt(30-20)/2+"px" 
  8.         },3000,function(){  
  9.             $(this).animate({  
  10.                 width:"30px",  
  11.                 height:"30px",  
  12.                 left:"-="+parseInt(30-20)/2+"px",  
  13.                 top:"-="+parseInt(30-20)/2+"px" 
  14.             },1000);  
  15.         });  
  16.     });  
  17. }); 

#p#

完整代碼:

  1. <!DOCTYPE html> 
  2. <html> 
  3.     <head> 
  4.         <title>含羞默默一張一合效果---田</title> 
  5.         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
  6.         <script type="text/javascript" src="http://files.cnblogs.com/kuikui/jquery.js"></script> 
  7.         <style type="text/css"> 
  8.             *{margin:0px;padding:0px;}  
  9.             #test{width:800px; height: 800px; margin: 30px auto 0px; overflow: hidden; position: relative; background-color: #F1F1F1;}  
  10.             #test span{display: block; position: absolute; width: 30px; height: 30px; }  
  11.         </style> 
  12.     </head> 
  13.     <body> 
  14.         <div id="test"></div> 
  15.         <script type="text/javascript"> 
  16.             var getRandomColor = function(){  
  17.                 return  '#' +  
  18.                     (function(color){  
  19.                     return (color +=  '0123456789abcdef'[Math.floor(Math.random()*16)])  
  20.                         && (color.length == 6) ?  color : arguments.callee(color);  
  21.                 })('');  
  22.             }  
  23.             function creSpan(n,mpId,mleft,mtop){  
  24.                 var mSpan = document.createElement("span");    
  25.                 var pId = mpId[0];  
  26.                 pId.appendChild(mSpan);  
  27.                 with(mSpan.style){  
  28.                     left = mleft+"px";  
  29.                     top = mtop+"px";  
  30.                     background = getRandomColor();  
  31.                 }  
  32.             }  
  33.         </script> 
  34.         <script type="text/javascript"> 
  35.             $(function(){  
  36.                 var myleft = 100;  
  37.                 var mytop = 50;  
  38.                 var arr = new Array();  
  39.                 var test =  $("#test");  
  40.                 for(var j=0;j<23;j++){  
  41.                     arr[j] = new Array();  
  42.                     if(j<3){  
  43.                         for(var i=0;i<19;i++){  
  44.                             myleft+=32;  
  45.                             arr[j][i] = new creSpan((j+1)*(i+1),test,myleft,mytop);  
  46.                         }  
  47.                     }  
  48.                     else if(j>2&&j<10){  
  49.                         for(var i=0;i<19;i++){  
  50.                             myleft+=32;  
  51.                             if(i<3){  
  52.                                 arr[j][i] = new creSpan((j+1)*(i+1),test,myleft,mytop);  
  53.                             }  
  54.                             else if(i>7&&i<11){  
  55.                                 arr[j][i] = new creSpan((j+1)*(i+1),test,myleft,mytop);  
  56.                             }  
  57.                             else if(i>15){  
  58.                                 arr[j][i] = new creSpan((j+1)*(i+1),test,myleft,mytop);  
  59.                             }  
  60.                         }  
  61.                     }  
  62.                     else if(j>9&&j<13){  
  63.                         for(var i=0;i<19;i++){  
  64.                             myleft+=32;  
  65.                             arr[j][i] = new creSpan((j+1)*(i+1),test,myleft,mytop);  
  66.                         }  
  67.                     }  
  68.                     else if(j>12&&j<20){  
  69.                         for(var i=0;i<19;i++){  
  70.                             myleft+=32;  
  71.                             if(i<3){  
  72.                                 arr[j][i] = new creSpan((j+1)*(i+1),test,myleft,mytop);  
  73.                             }  
  74.                             else if(i>7&&i<11){  
  75.                                 arr[j][i] = new creSpan((j+1)*(i+1),test,myleft,mytop);  
  76.                             }  
  77.                             else if(i>15){  
  78.                                 arr[j][i] = new creSpan((j+1)*(i+1),test,myleft,mytop);  
  79.                             }  
  80.                         }  
  81.                     }  
  82.                     else{  
  83.                         for(var i=0;i<19;i++){  
  84.                             myleft+=32;  
  85.                             arr[j][i] = new creSpan((j+1)*(i+1),test,myleft,mytop);  
  86.                         }  
  87.                     }  
  88.                     mytop+=32;  
  89.                     myleft=100;  
  90.                 }  
  91.                   
  92.                 $.each($("#test span"),function(k,v){  
  93.                     $(this).mouseover(function(){  
  94.                         $(this).animate({  
  95.                             width:"10px",  
  96.                             height:"10px",  
  97.                             left:"+="+parseInt(30-20)/2+"px",  
  98.                             top:"+="+parseInt(30-20)/2+"px"  
  99.                         },3000,function(){  
  100.                             $(this).animate({  
  101.                                 width:"30px",  
  102.                                 height:"30px",  
  103.                                 left:"-="+parseInt(30-20)/2+"px",  
  104.                                 top:"-="+parseInt(30-20)/2+"px"  
  105.                             },1000);  
  106.                         });  
  107.                     });  
  108.                 });  
  109.             });  
  110.         </script> 
  111.     </body> 
  112. </html> 
  113.      

原文鏈接:http://www.cnblogs.com/kuikui/archive/2012/07/19/2598491.html

【編輯推薦】

  1. 發布一個JavaScript工具類庫jutil
  2. 能說明你的JS技術很爛的五個原因
  3. 另一款有意思的JS圖片放大鏡
  4. JavaScript,只有你想不到
  5. JavaScript面試后的反思
責任編輯:張偉 來源: benpao的博客
相關推薦

2019-09-11 10:12:12

華為

2021-02-07 09:01:10

Java并發編程

2015-03-10 10:15:27

AppleWatch開發Swift

2020-06-15 08:54:46

架構圖 EA業務建模

2019-07-16 12:54:37

IoT5G人工智能

2015-09-14 09:07:15

Java多線程

2015-07-29 15:55:53

Windows 10桌面

2013-07-04 10:50:33

騰訊移動互聯網大數據

2012-01-09 14:08:04

2013-12-16 10:59:52

WiFi上鎖WiFi被盜

2024-05-07 08:49:45

微服務架構模式

2023-09-05 08:53:51

2015-07-17 07:47:51

京東618訂

2018-05-18 18:09:44

人工智能

2018-02-13 14:56:24

戴爾

2015-06-24 10:51:10

iOS學習流程

2025-03-11 10:58:00

點贊
收藏

51CTO技術棧公眾號

欧洲日本亚洲国产区| 国产九色精品成人porny | 免费拍拍拍网站| 国产日韩欧美一区二区三区四区| 欧美激情喷水视频| 伊人久久久久久久久久| 欧美性做爰猛烈叫床潮| 亚洲最新视频在线播放| www成人在线观看| 国产高清在线观看免费不卡| 一本色道久久综合亚洲精品高清 | 911亚洲精品| 色黄网站在线观看| 成人福利在线| www日韩tube| 精品影院一区| 亚洲嫩模一区| 伊人色综合网| 国产精品四虎| 成人免费高清在线播放| 蜜桃视频在线观看网站| 国产精品久久久久白浆| 91.·福利| 日本三级黄色网址| 91激情视频在线| 免费在线观看毛片网站| 日韩网站在线免费观看| 国产又粗又猛又爽又黄的网站| 亚洲福利av在线| 在线观看日韩羞羞视频| 国产又黄又爽免费视频| 成人h在线播放| 欧美一区二区三区成人久久片| 久久资源av| 视频一区视频二区视频三区视频四区国产 | 亚洲黄色免费网站| 久久久久99精品国产片| 国产精品无圣光一区二区| 国产欧美1区2区3区| 中文字幕在线一区免费| 国产精品美女久久久久av爽李琼 | 午夜国产福利在线| 亚洲七七久久综合桃花剧情介绍| 青春草视频在线| 中文字幕在线视频久| 国产亚洲精aa在线看| 欧美精品一区二区三区中文字幕| 精品国产91乱码一区二区三区四区| 午夜精品偷拍| 国产一区999| 亚洲天堂网中文字| 日韩欧美一区视频| 日韩成人久久久| 国内免费久久久久久久久久久 | 久久久www成人免费精品张筱雨| 欧美洲成人男女午夜视频| 欧美18视频| 国产肥臀一区二区福利视频| 亚洲第一区视频| 亚洲天堂av在线| 任你弄精品视频免费观看| 在线观看免费一区二区| 不卡一区在线观看| 欧美视频一二三区| 91av免费观看91av精品在线| 国产高清精品一区二区三区| 免费国产成人av| 欧美wwww| 精品中文一区| 9人人澡人人爽人人精品| 欧美日韩一区二区在线观看 | 1069男同网址| 亚洲黄色中文字幕| 国产精品伦理久久久久久| fc2成人免费人成在线观看播放 | 婷婷六月综合网| 最近2019年中文视频免费在线观看| 91视频最新| 日韩精品你懂的| 日本不卡1234视频| 亚洲精品乱码久久久久久蜜桃麻豆| 国产精品蜜臀av| 日韩精品久久久久| 亚洲欧美日韩国产yyy| 天堂视频中文在线| 日本午夜视频| 国产香蕉精品| av毛片久久久久**hd| 久久精品国产清自在天天线| 中文字幕日韩一区二区三区| 毛片在线看片| 欧美影院一区| 888久久久| 一本一道久久a久久精品| 欧美最猛性xxxxx亚洲精品| 在线视频日韩一区| 91成人福利社区| 99久久精品国产毛片| 亚洲精品影视在线观看| 日本一区二区免费看| 青春草免费在线视频| 天堂午夜影视日韩欧美一区二区| 欧美日韩在线播| 久久综合福利| 久操av在线| 国产麻豆成人传媒免费观看| 亚洲精品福利在线| 超薄肉色丝袜足j调教99| 在线观看爽视频| 成人精品国产免费网站| 视频在线观看99| 不卡影院一区二区| 久久不见久久见中文字幕免费| 亚洲宅男天堂在线观看无病毒| 国产精品久久久久久搜索| 国产视频网址在线| 麻豆freexxxx性91精品| 欧美精品中文字幕一区| 欧美18—20岁hd第一次| 色综合中文网| 777亚洲妇女| 日日摸日日碰夜夜爽无码| 2021年精品国产福利在线| 亚洲成a人在线观看| 亚洲成人自拍| 色先锋久久影院av| 欧美一区二区三区爱爱| 一区二区三区日韩视频| 亚洲一区二区三区日本久久九| 成人免费在线观看入口| 国产欧美亚洲日本| 欧美自拍电影| 亚洲午夜在线电影| 视频在线99re| 亚洲免费专区| 亚洲福利精品在线| 高清av影院| 美女爽到高潮91| 777国产偷窥盗摄精品视频| 91精选在线| 亚洲欧美在线aaa| 亚洲综合首页| 国产亚洲欧美日韩在线观看一区二区 | 在线观看一区二区精品视频| 超碰10000| 午夜欧美精品| 欧美黑人性视频| av免费在线观看网站| 国产精品久久久久久一区二区三区| 亚洲一区亚洲二区亚洲三区| 精品久久国产一区| 日韩一级免费一区| 一起操在线观看| 日本一区二区三区国色天香| 一本久道久久综合| 欧美日韩免费| 欧美自拍视频在线| 亚洲国产欧美国产第一区| 亚洲乱码一区av黑人高潮| 日本在线免费看| 欧美日韩视频免费播放| 久草在线资源网站| 久久综合久久久久88| 狠狠噜天天噜日日噜| 午夜亚洲性色福利视频| 97影院在线午夜| 91亚洲国产| 国产日韩欧美在线视频观看| 美女视频免费精品| 午夜精品www| 国产精品中文字幕制服诱惑| 永久免费看mv网站入口亚洲| 日产精品一区| 久久久成人精品| 亚洲精品伊人| 欧美成人黄色小视频| 国产原创一区| 欧美区在线播放| 日韩精选在线| 国产精品女人久久久久久| 亚洲激情77| 国产精品久久久久久亚洲调教| 欧美色图婷婷| 青青久久aⅴ北条麻妃| 精品中文一区| 黑人中文字幕一区二区三区| 99国产精品久久久久久久成人热 | 91精品久久久久久久久青青| 91综合在线| 国产精品国产三级国产专区53 | 欧美日韩国产在线观看| 国产羞羞视频在线播放| 亚洲片av在线| 亚洲天堂av资源在线观看| 欧日韩不卡在线视频| 伊人成人在线| 免费 成 人 黄 色| 亚洲成人av福利| 色在线视频网| 久久九九亚洲综合|