精品欧美一区二区三区在线观看 _久久久久国色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ù)棧公眾號

亚洲高清无码久久| 精品人妻大屁股白浆无码| 69视频免费看| 91精品国产自产拍在线观看蜜| 91.com在线观看| 日韩精品视频在线观看视频| 色鬼7777久久| 蜜桃av一区二区在线观看 | 亚洲精品在线网址| 国产美女情趣调教h一区二区| 99精品热视频| 国产日韩欧美视频| 日韩精品视频免费看| 欧美午夜精彩| 精品国产免费人成在线观看| 色综合av综合无码综合网站| 二区三区在线观看| 91麻豆精东视频| 91在线免费网站| 国产免费av一区| 在线观看日韩| 一区二区三区视频免费| 91网址在线观看精品| 欧美成人性网| 亚洲综合精品自拍| 亚洲天堂电影网| 风流少妇一区二区三区91| 日韩精品成人一区二区三区 | 不卡的av影片| 国产精品成人免费在线| 久久伊人一区二区| www.av网站| 久久国产精品99精品国产| 5278欧美一区二区三区| avtt天堂在线| 日本精品三区| 亚洲欧美日韩一区在线| 韩国三级视频在线观看| 亚洲免费看片| 欧美视频一区二区三区在线观看| 色综合久久久久无码专区| 一区二区三区伦理| 中文字幕在线播放不卡一区| 日本不卡一区二区三区在线观看| 少妇精品高潮欲妇又嫩中文字幕| 国产精品自拍网站| 成人免费在线视频网站| 中文字幕+乱码+中文乱码www| 日韩午夜黄色| 国内精品久久久久久中文字幕| 国产精品视频一区二区三| 成人直播大秀| 一区二区三区四区精品| 无码少妇精品一区二区免费动态| 天海翼精品一区二区三区| 欧美精品一区二区在线观看| 蜜桃色一区二区三区| 韩国一区二区三区视频| 7777精品伊人久久久大香线蕉经典版下载| 天天插天天操天天射| 二区三区不卡| 色婷婷av一区二区三区gif| 亚洲熟妇av一区二区三区漫画| av在线播放资源| 五月开心婷婷久久| 欧美色图另类小说| 欧美1级2级| 欧美写真视频网站| 久久人人爽av| 成人精品在线| 日韩久久免费av| 人妻换人妻a片爽麻豆| 久久动漫网址| 亚洲开心激情网| 亚洲精品国产精品国自| 久久综合成人| 九九热精品视频在线播放| 久久久久久久福利| 小嫩嫩精品导航| 国产精品老女人精品视频| 一起草av在线| 国产成人精品www牛牛影视| 不卡视频一区二区| 免费观看黄色一级视频| 26uuu久久综合| 日本视频一区二区在线观看| 欧美尤物美女在线| 亚洲一区视频在线观看视频| 国产极品在线视频| 性欧美1819sex性高清| 欧美日韩和欧美的一区二区| 亚洲一二三不卡| 精品视频在线你懂得| 亚洲午夜小视频| 五月天av网站| 久久国产主播| 亚洲jizzjizz日本少妇| 免费看黄网站在线观看| 国产欧美一区二区精品性色超碰| 91香蕉视频网址| 欧产日产国产精品视频| 欧美精品久久99久久在免费线| 色哟哟视频在线| 久久人人88| 97视频在线观看播放| 在线播放成人av| www.欧美日韩| 伊人久久99| 中文在线最新版地址| 91麻豆精品国产91久久久久久 | av在线一区二区| 亚洲欧美日韩精品久久久 | 青青久久av北条麻妃黑人| 国产又粗又黄又爽的视频| 97久久超碰国产精品电影| 日日噜噜噜夜夜爽爽| 色综合一本到久久亚洲91| 日韩午夜在线播放| 天天摸日日摸狠狠添| 国产精品社区| 91在线免费看片| av国产在线观看| 欧美日韩精品国产| 69久久精品无码一区二区| 精品一区av| 久久久久国产一区二区三区| 一级黄色小视频| 久久久久久久久99精品| 国产日本在线播放| 欧美另类中文字幕| 自拍偷拍亚洲欧美| 免费av网站在线| 成人污污视频在线观看| 看一级黄色录像| 婷婷激情成人| 中文字幕在线看视频国产欧美| 久久国产视频播放| 成人免费av资源| 韩国无码av片在线观看网站| 超碰国产精品一区二页| 一本色道久久88精品综合| 男女视频免费看| 成人福利视频在线看| 7777在线视频| 国产精品一区二区三区www| 中文字幕成人在线| 国产成人av免费| 国产日韩欧美一区二区三区综合 | 久久精品国产精品亚洲综合| 日本高清不卡一区二区三| 北岛玲heyzo一区二区| 日韩二区三区在线| 毛片毛片女人毛片毛片| 94色蜜桃网一区二区三区| aa视频在线播放| av成人综合| 韩剧1988免费观看全集| 全国男人的天堂网| 福利微拍一区二区| 女~淫辱の触手3d动漫| 久久影院亚洲| 视频在线一区二区三区| 久久亚洲国产精品尤物| 最近日韩中文字幕中文| 亚洲一级特黄毛片| 亚洲色图欧美激情| 古装做爰无遮挡三级聊斋艳谭| 一级毛片免费高清中文字幕久久网| 91精品啪在线观看麻豆免费| 18+视频在线观看| 亚洲精品一区二区三区四区高清| www成人在线| 国产亚洲1区2区3区| 精品日韩久久久| 亚洲国产精品日韩专区av有中文| 99爱精品视频| 涩涩av在线| 在线看片第一页欧美| 国产伦精品一区二区三区免.费| 亚洲另类中文字| 国产精品久久久久久亚洲色 | www.日本在线观看| 午夜视频在线观看一区二区| 久久久久久九九九九九| 久久成人av少妇免费| 欧美黑人在线观看| 最新亚洲精品| 91精品中文在线| 草草视频在线观看| 在线观看欧美成人| 亚洲a视频在线观看| 精品久久久久久久久久久| 日本精品在线观看视频| 国产一区二区三区四区在线观看 | 亚洲熟女毛茸茸| 成人综合婷婷国产精品久久蜜臀 | 一区二区三区欧美成人| 午夜久久av| 欧美在线一区二区三区四| 五月婷婷在线视频| 亚洲第一网站免费视频| 中文字幕二区三区| 亚洲成人免费在线观看| 毛片久久久久久| 成人成人成人在线视频| 国产xxxxx在线观看| 欧美在线观看天堂一区二区三区| 精品蜜桃传媒| 大胆国模一区二区三区| 57pao精品| 日韩123区| 在线视频亚洲欧美| 青青草免费在线| 日韩三级中文字幕| 中文字幕在线播放不卡| 精品久久久久久中文字幕大豆网 | 99久久精品国产亚洲精品| 国产美女精品久久久| 粉嫩一区二区三区在线观看 | 国产精品色婷婷在线观看| 7m第一福利500精品视频| 超碰在线最新| 在线观看日韩专区| 欧美女子与性| 亚洲精品美女久久| 性欧美videos另类hd| 欧美日韩1区2区| 一级黄色在线观看| 精品成人国产在线观看男人呻吟| 日韩一级片av| 亚洲欧美综合在线精品| 丁香激情五月少妇| 久久精品人人爽人人爽| 国产老熟女伦老熟妇露脸| 国产精品一区二区在线观看网站 | 成人黄色免费网站| 欧美在线观看一区二区三区| 久久不射影院| 九九热最新视频//这里只有精品| 四虎久久免费| 中文字幕精品—区二区| 国产小视频在线播放| 亚洲精品自拍第一页| 天堂av2024| 亚洲黄色www网站| 色wwwwww| 日韩av影片在线观看| 欧洲成人一区二区三区| 亚洲第一福利视频| 色欲av永久无码精品无码蜜桃| 精品少妇一区二区三区免费观看| 国产情侣一区二区| 91麻豆精品国产综合久久久久久| 国产精品久久久久久免费免熟| 欧美日韩免费观看一区三区| 亚洲一区在线观| 欧美嫩在线观看| 国产乱码精品一区二区三区精东| 91精品婷婷国产综合久久性色 | 久草网在线观看| 一区二区免费视频| 精品午夜福利在线观看| 亚洲国产日韩一级| 日韩精品在线免费看| 狠狠色噜噜狠狠狠狠97| 国产精品久久久久久人| 在线亚洲免费视频| 亚洲性猛交富婆| 欧美伊人久久大香线蕉综合69| 一区二区视频网| 欧美一区二区人人喊爽| 好吊色视频一区二区| 日韩成人黄色av| 成人免费在线电影| 久久精品视频导航| 美足av综合网| 欧美综合激情网| 国产成人午夜性a一级毛片| 国产中文字幕91| 综合视频一区| 蜜桃免费一区二区三区| 欧美日韩伦理| 国产精品视频二| 国产美女一区| 三上悠亚在线一区| 国产成人福利片| 手机av免费看| 最新国产精品久久精品| 国产在线综合网| 色久优优欧美色久优优| 国产女人高潮的av毛片| 亚洲精品一区二区精华| 搞黄视频在线观看| 九九综合九九综合| 欧美电影免费观看| 亚洲999一在线观看www| 色狠狠久久av综合| 欧美日韩亚洲国产成人| 国产精品呻吟| 亚洲第一成肉网| 久久久久久免费毛片精品| 午夜国产福利一区二区| 欧美日韩免费在线| 国产强伦人妻毛片| 亚洲日本中文字幕| 牛牛精品在线视频| 国产精品专区一| 国产伦精品一区二区三区在线播放| 欧美一区二区三区精美影视| 欧美在线高清| 亚洲一区在线不卡| 97久久久精品综合88久久| 久久一级免费视频| 欧美性猛交99久久久久99按摩| 国产精品视频一区二区三区,| 亚洲美女av网站| 欧美激情成人动漫| 国产男人精品视频| 竹菊久久久久久久| 婷婷无套内射影院| 国产老肥熟一区二区三区| 欧美激情 一区| 欧美视频一二三| 性欧美videos另类hd| 日韩最新免费不卡| 日日av拍夜夜添久久免费| 91传媒视频免费| 97在线精品| 日韩在线第三页| 成人aa视频在线观看| 欧美日韩一级在线观看| 欧美视频你懂的| 欧美女v视频| 5252色成人免费视频| 大奶一区二区三区| 免费看黄色a级片| 精品综合免费视频观看| 美女脱光内衣内裤| 日韩欧美高清视频| 女人偷人在线视频| 69国产精品成人在线播放| 88久久精品| 国产女人18毛片| 国产一区福利在线| 国产福利视频网站| 欧美精品三级日韩久久| 福利成人在线观看| 国产成一区二区| 一道本一区二区三区| 欧美丰满熟妇bbbbbb百度| eeuss国产一区二区三区| 国产亚洲第一页| 精品少妇一区二区三区日产乱码| 日本在线视频中文有码| 成人国产1314www色视频| 欧美精品二区| 亚洲av无码久久精品色欲| 亚洲欧洲制服丝袜| 99热精品在线播放| 日韩在线视频免费观看| 国产精品亚洲成在人线| 亚洲欧美日本国产有色| 精品一区二区国语对白| 国产一二三区精品| 日韩美女视频一区二区在线观看| 综合久久2o19| 国产日韩欧美一区二区| 羞羞答答国产精品www一本 | 日本成人7777| 日本在线观看a| 国产喷白浆一区二区三区| 中文字幕一区2区3区| 久久韩国免费视频| 亚洲免费一区三区| 精品少妇一区二区三区在线| 久久久亚洲精品一区二区三区| 男人天堂视频网| 久久久精品网站| 精品五月天堂| 日本熟妇人妻中出| 亚洲三级免费观看| 黄片毛片在线看| 日本中文字幕久久看| 93在线视频精品免费观看| 性色av浪潮av| 狠狠久久五月精品中文字幕| 成年人视频网站在线| 92看片淫黄大片看国产片| 99在线精品视频在线观看| 日韩一级av毛片| 精品精品国产高清一毛片一天堂| 天堂中文在线播放| 影音先锋欧美在线| av一区二区三区| 中文字幕欧美在线观看| 欧美日韩国产成人在线观看| 美女毛片一区二区三区四区| 国产成人在线综合| 欧美日韩加勒比精品一区| 日本中文字幕伦在线观看|