精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

使用jQuery和CSS實現(xiàn)超酷縮略圖懸浮逼近效果

開發(fā) 前端
今天我們?yōu)榇蠹医榻B一個使用jQuery實現(xiàn)的縮略圖逼近效果。主要的想法是當鼠標接近縮略圖后,當前的縮略圖會放大,并且周圍相鄰的縮略圖也會相應(yīng)變大一些,當你移動鼠標時,會影響移動方向上的縮略圖大小變化,具體效果請大家查看演示。

今天我們?yōu)榇蠹医榻B一個使用jQuery實現(xiàn)的縮略圖逼近效果。主要的想法是當鼠標接近縮略圖后,當前的縮略圖會放大,并且周圍相鄰的縮略圖也會相應(yīng)變大一些,當你移動鼠標時,會影響移動方向上的縮略圖大小變化,具體效果請大家查看演示。

實例下載

你可以在這個網(wǎng)站http://porscheeveryday.com/ 看到這個效果的原型,這里我們使用jQuery實現(xiàn)了一個jQuery版本的基本效果,希望大家喜歡!

在這個教程中,我們將使用James Padolsey的 jQuery Proximity plugin。

HTML標簽

以下代碼生成一個無序的縮略圖并且添加相關(guān)圖片描述:

  1. <ul id="pe-thumbs" class="pe-thumbs"> 
  2.     <li> 
  3.         <a href="#"> 
  4.             <img src="images/thumbs/1.jpg" /> 
  5.             <div class="pe-description"> 
  6.                 <h3>Time</h3> 
  7.                 <p>Since time, and his predestinated end</p> 
  8.             </div></a> 
  9.     </li> 
  10.     <li><!-- ... --></li> 
  11. </ul> 

CSS樣式

以下定義了縮略圖居中,并且添加背景圖片使得圖片產(chǎn)生透明度變化效果

  1. pe-thumbs{  
  2.     width: 900px;  
  3.     height: 400px;  
  4.     margin: 20px auto;  
  5.     position: relative;  
  6.     background: transparent url(../images/3.jpg) top center;  
  7.     border: 5px solid #fff;  
  8.     box-shadow: 0 1px 2px rgba(0,0,0,0.2);  
  9. }  

同時我們也使用一個RGBA的背景顏色添加一個小點綴到背景圖片。

  1. .pe-thumbs:before {  
  2.     content: "";  
  3.     display: block;  
  4.     position: absolute;  
  5.     top: 0px;  
  6.     left: 0px;  
  7.     width: 100%;  
  8.     height: 100%;  
  9.     background: rgba(255,102,0,0.2);  
  10. }  

列表中的項目將會向左float,并且我們設(shè)置錨定和圖片的相對位置:

  1. .pe-thumbs li{  
  2.     float: left;  
  3.     position: relative;  
  4. }  
  5. .pe-thumbs li a,  
  6. .pe-thumbs li a img{  
  7.     display: block;  
  8.     position: relative;  
  9. }  

每一個縮略圖都初始100px并且透明度為0.2:

  1. .pe-thumbs li a img{  
  2.     width: 100px;  
  3.     opacity: 0.2;  

***我們定義描述內(nèi)容的樣式:

  1. .pe-description h3{  
  2.     padding: 10px 10px 0px 10px;  
  3.     line-height: 20px;  
  4.     font-family: 'BebasNeueRegular', 'Arial Narrow', Arial, sans-serif;  
  5.     font-size: 22px;  
  6.     margin: 0px;  
  7. }  
  8. .pe-description p{  
  9.     padding: 10px 0px;  
  10.     margin: 10px;  
  11.     font-size: 11px;  
  12.     font-style: italic;  
  13.     border-top: 1px solid rgba(255,255,255,0.3);  
  14. }  

JavaScript代碼

主要的想法是當鼠標懸浮后計算所有的描述容器大小和位置。主要依賴于縮略圖的***尺寸及其居于主要wrapper中的位置。例如,當縮略圖接近邊緣,我們就使得描述區(qū)域顯示在縮略圖左邊

然后我們將幫定逼近事件到圖片。主要想法是根據(jù)鼠標位置來變化圖片大小。一旦圖片達到***尺寸,我們設(shè)置z-index***,因此位于***層次,并且顯示分開的描述。

  1. // list of thumbs  
  2. var $list        = $('#pe-thumbs'),  
  3.     // list's width and offset left.  
  4.     // this will be used to know the position of the description container  
  5.     listW        = $list.width(),  
  6.     listL        = $list.offset().left,  
  7.     // the images  
  8.     $elems        = $list.find('img'),  
  9.     // the description containers  
  10.     $descrp        = $list.find('div.pe-description'),  
  11.     // maxScale : maximum scale value the image will have  
  12.     // minOpacity / maxOpacity : minimum (set in the CSS) and maximum values for the image's opacity  
  13.     settings    = {  
  14.         maxScale    : 1.3,  
  15.         maxOpacity    : 0.9,  
  16.         minOpacity    : Number( $elems.css('opacity') )  
  17.     },  
  18.     init        = function() {  
  19.  
  20.         // minScale will be set in the CSS  
  21.         settings.minScale = _getScaleVal() || 1;  
  22.         // preload the images (thumbs)  
  23.         _loadImages( function() {  
  24.  
  25.             _calcDescrp();  
  26.             _initEvents();  
  27.  
  28.         });  
  29.  
  30.     },  
  31.     // Get Value of CSS Scale through JavaScript:  
  32.     // http://css-tricks.com/get-value-of-css-rotation-through-javascript/  
  33.     _getScaleValfunction() {  
  34.  
  35.         var st = window.getComputedStyle($elems.get(0), null),  
  36.             tr = st.getPropertyValue("-webkit-transform") ||  
  37.                  st.getPropertyValue("-moz-transform") ||  
  38.                  st.getPropertyValue("-ms-transform") ||  
  39.                  st.getPropertyValue("-o-transform") ||  
  40.                  st.getPropertyValue("transform") ||  
  41.                  "fail...";  
  42.  
  43.         if( tr !== 'none' ) {       
  44.  
  45.             var values = tr.split('(')[1].split(')')[0].split(','),  
  46.                 a = values[0],  
  47.                 b = values[1],  
  48.                 c = values[2],  
  49.                 d = values[3];  
  50.  
  51.             return Math.sqrt( a * a + b * b );  
  52.  
  53.         }  
  54.  
  55.     },  
  56.     // calculates the style values for the description containers,  
  57.     // based on the settings variable  
  58.     _calcDescrp    = function() {  
  59.  
  60.         $descrp.each( function(i) {  
  61.  
  62.             var $el        = $(this),  
  63.                 $img    = $el.prev(),  
  64.                 img_w    = $img.width(),  
  65.                 img_h    = $img.height(),  
  66.                 img_n_w    = settings.maxScale * img_w,  
  67.                 img_n_h    = settings.maxScale * img_h,  
  68.                 space_t = ( img_n_h - img_h ) / 2,  
  69.                 space_l = ( img_n_w - img_w ) / 2;  
  70.  
  71.             $el.data( 'space_l', space_l ).css({  
  72.                 height    : settings.maxScale * $el.height(),  
  73.                 top        : -space_t,  
  74.                 left    : img_n_w - space_l  
  75.             });  
  76.  
  77.         });  
  78.  
  79.     },  
  80.     _initEvents    = function() {  
  81.  
  82.         $elems.on('proximity.Photo', { max: 80, throttle: 10, fireOutOfBounds : true }, function(event, proximity, distance) {  
  83.  
  84.             var $el            = $(this),  
  85.                 $li            = $el.closest('li'),  
  86.                 $desc        = $el.next(),  
  87.                 scaleVal    = proximity * ( settings.maxScale - settings.minScale ) + settings.minScale,  
  88.                 scaleExp    = 'scale(' + scaleVal + ')';  
  89.  
  90.             // change the z-index of the element once  
  91.             // it reaches the maximum scale value  
  92.             // also, show the description container  
  93.             if( scaleVal === settings.maxScale ) {  
  94.  
  95.                 $li.css( 'z-index', 1000 );  
  96.  
  97.                 if( $desc.offset().left + $desc.width() > listL + listW ) {  
  98.  
  99.                     $desc.css( 'left', -$desc.width() - $desc.data( 'space_l' ) );  
  100.  
  101.                 }  
  102.  
  103.                 $desc.fadeIn( 800 );  
  104.  
  105.             }  
  106.             else {  
  107.  
  108.                 $li.css( 'z-index', 1 );  
  109.  
  110.                 $desc.stop(true,true).hide();  
  111.  
  112.             }      
  113.  
  114.             $el.css({  
  115.                 '-webkit-transform'    : scaleExp,  
  116.                 '-moz-transform'    : scaleExp,  
  117.                 '-o-transform'        : scaleExp,  
  118.                 '-ms-transform'        : scaleExp,  
  119.                 'transform'            : scaleExp,  
  120.                 'opacity'            : ( proximity * ( settings.maxOpacity - settings.minOpacity ) + settings.minOpacity )  
  121.             });  
  122.  
  123.         });  
  124.  
  125.     },  
  126.     _loadImages    = function( callback ) {  
  127.  
  128.         var loaded     = 0,  
  129.             total    = $elems.length;  
  130.  
  131.         $elems.each( function(i) {  
  132.  
  133.             var $el = $(this);  
  134.  
  135.             $('<img>').load( function() {  
  136.  
  137.                 ++loaded;  
  138.                 if( loaded === total )  
  139.                     callback.call();  
  140.  
  141.             }).attr( 'src', $el.attr('src') );  
  142.  
  143.         });  
  144.  
  145.     };  
  146.  
  147. return {  
  148.     init    : init  
  149. };   

原文:http://www.cnblogs.com/gbin1/archive/2012/01/09/2317605.html

【編輯推薦】

  1. 11月Web技術(shù)最前沿:2011年度***jQuery插件揭曉
  2. 使用HTML 5、CSS3和jQuery增強網(wǎng)站用戶體驗
  3. 使用jQuery設(shè)計數(shù)據(jù)表格之設(shè)計表格基類
  4. 10月10款有趣強大的jQuery插件推薦
  5. 當jQuery遭遇CoffeeScript——妙不可言
責任編輯:陳貽新 來源: GBin1.com
相關(guān)推薦

2012-07-18 20:59:40

jQuery

2013-12-02 15:07:57

jQuery插件

2009-08-28 15:19:17

C#實現(xiàn)縮略圖

2013-08-12 15:26:49

測試

2009-10-26 17:38:22

VB.NET實現(xiàn)縮略圖

2019-02-15 14:00:57

Linux命令縮略圖

2009-12-07 11:21:59

PHP生成縮略圖

2009-08-12 16:33:37

.NET生成縮略圖

2009-08-28 10:22:13

Windows 7系統(tǒng)故障應(yīng)對縮略圖無法顯示

2010-01-20 10:29:37

Chrome縮略圖標簽管理

2011-07-01 11:18:50

Qt 多線程

2012-09-20 15:00:38

Win 8操作系統(tǒng)

2011-05-04 09:05:39

Flash

2011-03-02 13:15:26

HTML 5jQuery

2023-05-15 17:04:33

Edge瀏覽器

2022-02-21 16:38:19

Serverless圖片視頻

2020-11-02 14:49:46

GitHub Java圖片

2011-08-17 15:08:08

windows7任務(wù)欄縮略圖

2014-07-14 12:37:36

jQueryCSS3

2021-07-01 14:52:17

Windows 11操作系統(tǒng)微軟
點贊
收藏

51CTO技術(shù)棧公眾號

亚洲伊人观看| 天堂资源在线亚洲| 亚洲精品成人悠悠色影视| 亚洲伊人久久综合| 日韩av一二三区| 一区三区在线欧| 欧美日韩中文精品| 日韩一级免费看| 免费在线黄色影片| 精品综合免费视频观看| 欧美精品久久久久久久久| 波多野结衣av在线观看| 九九99久久精品在免费线bt| 精品欧美激情精品一区| 亚洲日本欧美在线| 日本免费一区视频| 久久99深爱久久99精品| 69影院欧美专区视频| 一区二区三区在线播放视频| 国产美女撒尿一区二区| 欧美日韩精品电影| 国内精品在线观看视频| 九七久久人人| 成人免费观看男女羞羞视频| 国产精品欧美亚洲777777| 日本中文字幕网| 亚洲欧美色图| 一道本无吗dⅴd在线播放一区| 国产成人精品一区二区三区在线观看| 一呦二呦三呦精品国产| 亚洲成人tv网| 好色先生视频污| 风间由美一区| 久久蜜桃av一区二区天堂| www.久久久| 亚洲影视一区二区| 先锋影音国产一区| 久久久久久18| 美女毛片在线观看| 亚洲影视一区| 日韩中文字幕精品视频| 91视频免费观看网站| 欧美成人一区在线观看| 日韩一区二区电影| 久久精品一卡二卡| 高清久久一区| 8v天堂国产在线一区二区| 一级在线免费视频| 欧美色网在线| 色婷婷综合在线| 国产aaa一级片| 国内精彩免费自拍视频在线观看网址| 一区二区三区资源| 在线观看成人免费| 免费的黄网站在线观看| 中文字幕第一区第二区| 欧美一区二区三区精美影视| 午夜av免费在线观看| 成人午夜av在线| 国产精品一区二区在线观看| 成人免费视频国产免费麻豆| 国产成人在线免费| 成人h视频在线观看| 好吊色一区二区三区| 国产v综合v亚洲欧| 福利视频一区二区三区| 蜜桃av鲁一鲁一鲁一鲁俄罗斯的| 成熟亚洲日本毛茸茸凸凹| 国产精品日韩二区| 天天干天天色天天| 久久综合久久综合亚洲| 欧美一区二区三区四区五区六区| h视频网站在线观看| 中文一区二区在线观看| 一区中文字幕在线观看| 女同视频在线观看| 精品欧美激情精品一区| 日本久久精品一区二区| 伊人久久大香| 欧美v亚洲v综合ⅴ国产v| 国产女主播在线播放| 丝袜av一区| 中文字幕日韩有码| 欧美一区二区三区爽爽爽| 黄色欧美成人| 国产99在线|中文| 国产又粗又猛又爽| 成人在线一区二区三区| 免费久久99精品国产自| 高清av在线| 夜夜嗨av一区二区三区四季av| 青青青青草视频| 日韩av中字| 3atv在线一区二区三区| 手机免费看av片| 经典一区二区| 欧美成人激情图片网| 日韩三级视频在线播放| 麻豆免费精品视频| 国产精品 日韩| 超碰免费在线观看| 尤物视频一区二区| 成人性做爰aaa片免费看不忠| 日韩久久99| 日韩不卡在线观看| 欧美爱爱免费视频| 久久久久免费| www日韩av| chinese偷拍一区二区三区| 亚洲免费观看高清完整版在线观看熊 | 91网站在线播放| 久久免费看毛片| 成人教育av| 91精品国产乱| 少妇愉情理伦三级| 日韩一区二区久久| 亚洲a区在线视频| 国产毛片av在线| 午夜婷婷国产麻豆精品| 在线黄色免费看| 九色成人国产蝌蚪91| 欧美精品久久久久久久久久| 夜夜躁狠狠躁日日躁av| 久久色在线视频| 大西瓜av在线| 日韩精品视频中文字幕| 色哟哟亚洲精品一区二区| 国产视频91在线| 国产成人自拍网| 国产奶头好大揉着好爽视频| 51一区二区三区| 亚洲欧美中文另类| 国产成人无码精品| 成人18精品视频| 国产高清不卡无码视频| 在线免费观看亚洲| 色播久久人人爽人人爽人人片视av| 中文字幕视频网站| 本田岬高潮一区二区三区| 小说区视频区图片区| yiren22亚洲综合| 亚洲最新中文字幕| www亚洲视频| 久久精品男人天堂av| 每日在线观看av| 国产色噜噜噜91在线精品| 欧美成人精品h版在线观看| 国产模特av私拍大尺度| ...中文天堂在线一区| 手机看片一级片| 欧美电影免费播放| 国产精自产拍久久久久久| 粉嫩av在线播放| 欧美三级韩国三级日本三斤| 538精品视频| 久久99精品一区二区三区| 日韩视频在线观看国产| 91欧美精品| www.久久久久久.com| 国产精品福利电影| 亚洲三级理论片| 四虎永久免费观看| 国产模特精品视频久久久久| 蜜桃视频成人| 日韩av一级| 久久久97精品| 丰满肉嫩西川结衣av| 婷婷综合另类小说色区| www.久久国产| 免费高清在线视频一区·| 亚洲看片网站| 九九九九九九精品任你躁| 久久久久国产一区二区三区| 亚洲色图欧美视频| 欧美主播一区二区三区| 人人干在线观看| 懂色av中文一区二区三区| 欧美二区在线视频| 青青草原综合久久大伊人精品| 国产日韩在线观看av| 天堂av资源在线观看| 亚洲第一区第一页| 波多野结衣影片| 亚洲欧美色综合| 亚洲色图14p| 久久国产精品99久久人人澡| 三级在线免费观看| 九一成人免费视频| 亚洲最大的成人网| 日韩脚交footjobhd| 最新的欧美黄色| 熟妇人妻一区二区三区四区| 色噜噜狠狠一区二区三区果冻| 大地资源高清在线视频观看| www.日韩av| 亚洲美女性囗交| 国产一区导航| 国产免费内射又粗又爽密桃视频| 欧美人妖在线观看| 亚洲a中文字幕| 韩国三级一区| 久久欧美在线电影| 999国产在线视频| 欧美精品一区二区三区很污很色的| 成人h动漫精品一区二区下载| ...xxx性欧美| 免费黄色片网站| 成人三级在线视频| 手机av在线网| 久久精品亚洲一区二区| 黄色片免费在线观看视频| 国产探花一区二区| 国精产品一区二区| 国产区一区二| 国产精品日韩在线观看| av最新在线| 欧美人与性动交| 欧美一级二级三级区| 精品日产卡一卡二卡麻豆| 中文字幕免费播放| 色婷婷综合久久久久中文一区二区| 久久综合成人网| 亚洲色图清纯唯美| 国产综合精品久久久久成人av| 99久久国产免费看| 能看毛片的网站| 久久福利视频一区二区| 欧美激情国产精品日韩| 亚洲三级影院| 欧美极品少妇无套实战| 91精品一区二区三区综合| 日韩亚洲视频| 国产一区二区亚洲| 久久亚洲精品欧美| 老司机在线精品视频| 国产乱码精品一区二区三区卡| 精品国产亚洲一区二区三区| 国产日韩在线播放| 激情欧美一区二区三区黑长吊| 国产精品h在线观看| 在线观看涩涩| 欧美与黑人午夜性猛交久久久| 女海盗2成人h版中文字幕| 孩xxxx性bbbb欧美| 羞羞的网站在线观看| 欧美乱大交xxxxx另类电影| 国产素人视频在线观看| 久久综合网hezyo| av黄色在线| 欧美日本高清视频| 黄色羞羞视频在线观看| 久久频这里精品99香蕉| av3级在线| 欧美一二三视频| 都市激情亚洲一区| 国产精品成人播放| 久久电影天堂| 91视频国产高清| 视频精品一区二区三区| 99国产在线观看| 极品国产人妖chinesets亚洲人妖 激情亚洲另类图片区小说区 | 九九九伊在线综合永久| 国产精品成人v| 婷婷久久免费视频| 亚洲一区二区免费在线| 999在线精品| 麻豆精品蜜桃一区二区三区| 欧美日韩老妇| 久久最新免费视频| 在线高清一区| 国产97色在线 | 日韩| 美女视频第一区二区三区免费观看网站| 亚洲视频一二三四| 国产白丝网站精品污在线入口| 国产草草浮力影院| 欧美极品aⅴ影院| 欧美 日韩 国产 一区二区三区| 一二三区精品福利视频| 51国产偷自视频区视频| 欧美日韩午夜影院| www日本高清视频| 亚洲女人天堂视频| 在线免费观看黄| 韩国19禁主播vip福利视频| 黄色成人免费网| 成人春色激情网| 欧美性生活一级片| 一区二区成人国产精品| 欧美午夜不卡| av免费网站观看| 国产成人在线影院| 成人黄色a级片| 亚洲欧美日韩国产另类专区| 国产在线视频卡一卡二| 欧美亚洲国产一卡| 精品国产99久久久久久宅男i| 亚洲国产精品福利| 日本蜜桃在线观看| 欧美亚洲成人xxx| 日韩成人精品| 日韩动漫在线观看| 亚洲夜间福利| 中文字幕日韩综合| 久久亚洲精品小早川怜子| 波多野结衣家庭教师| 欧美日韩日本国产| aaa一区二区| 在线亚洲男人天堂| 日韩伦理在线| 99视频国产精品免费观看| 国产一区国产二区国产三区| 日韩 欧美 视频| 久草在线在线精品观看| 毛片网站免费观看| 一区二区三区欧美在线观看| 亚洲永久精品视频| 亚洲色图国产精品| 大桥未久在线视频| 97伦理在线四区| 99久久精品网站| 丁香婷婷激情网| 久久综合九色欧美综合狠狠| 91视频免费在线看| 666欧美在线视频| av在线电影院| 国产成人综合av| 伊人久久大香线蕉综合网蜜芽| 日韩精品综合在线| 国产精品自拍毛片| 日韩va亚洲va欧美va清高| 欧美色综合天天久久综合精品| 日韩av资源| 欧美在线观看视频| 欧美一级二级三级视频| 成人在线国产视频| 国产成人精品一区二区三区网站观看| 日本免费网站视频| 欧美亚洲国产一区二区三区 | 成人在线国产视频| 国产成人精品综合在线观看| 日韩成人毛片视频| 日韩一区二区三区视频在线| 浪潮av一区| 91嫩草在线视频| 亚洲一区二区三区| 丰满少妇中文字幕| 亚洲综合偷拍欧美一区色| 亚洲av无码国产综合专区| 久久久黄色av| 伊人久久噜噜噜躁狠狠躁| 女人床在线观看| 成人成人成人在线视频| 日韩字幕在线观看| 亚洲第一视频在线观看| 新版的欧美在线视频| 欧美精品一区在线| 奇米色777欧美一区二区| 美国黄色特级片| 欧美美女一区二区在线观看| 国内精品久久久久国产| 亚洲最大成人网色| 伊人久久大香线蕉综合热线| 日本黄色录像片| 色婷婷av一区二区三区gif| jizz亚洲| 999热视频在线观看| 在线成人黄色| 韩国三级hd中文字幕| 欧美日韩大陆一区二区| 岛国成人毛片| 国产区欧美区日韩区| 性一交一乱一区二区洋洋av| 午夜在线观看一区| 在线电影一区二区三区| 9999在线视频| 久久久久久国产精品mv| 免费在线一区观看| 天天干中文字幕| 精品无人区太爽高潮在线播放| 一区在线影院| 国产乱子伦精品视频| 91视频国产资源| 亚洲一级片免费看| 欧美第一黄色网| 国产99久久| 国产九九九视频| 欧美日韩在线免费观看| 北条麻妃在线| 国产精品一区二区三区不卡| 丝袜美腿一区二区三区| 综合五月激情网| 亚洲女同性videos| 日韩一区二区三区精品| 免费激情视频在线观看| 一区二区成人在线视频 | 久久麻豆一区二区| 国产日产亚洲系列最新| 26uuu久久噜噜噜噜| 欧美在线播放| 亚洲黄色小说视频|