亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

實現jquery放大鏡的兩種方法

2019-11-19 14:20:09
字體:
來源:轉載
供稿:網友

jquery寫的兩種放大鏡效果,沒有使用到插件。調理和思路清晰。不是使用面向對象方式寫的,初學者較容易看懂。廢話不多說,看代碼。圖片這里就不上傳了,大家自己找下。最好是找到比例的,這樣效果比較好。

<body>   <div id="father">     <div id="container">       <img src="img/400_1.jpg" style="display: block;">       <img src="img/400_2.jpg" >       <div class="shade"></div>     </div>     <div class="small first"><img src="img/50_1.jpg"></div>     <div class="small second"><img src="img/50_2.jpg"></div>   </div>      <div class="big">     <img src="img/800_1.jpg" style="display: block;">     <img src="img/800_2.jpg">   </div> </body> 

css代碼

*{padding: 0; margin: 0;}   #father .small{width: 50px; height: 50px; border: 2px solid #ccc; bottom: 0; position: absolute;}   #father .second{left: 70px;}   .third{left: 140px;}   #father{position: relative; top: 100px; left: 50px; height: 460px;}   #container{position: absolute; width: 400px; height: 400px;}   #container img{position: absolute; display: none;}    .shade{width: 200px; height: 200px; position: absolute; background: #000; opacity: 0.4; top: 0;     left: 0; display: none;}   .big{width: 400px; height: 400px; position: absolute; top: 100px; overflow: hidden; left: 500px; display: none;}   .big img{width: 800px; height: 800px; position: absolute; display: none;} 

js代碼

<script type="text/javascript" src='js/jquery-1.12.4.min.js'></script>   <script type="text/javascript">     $(function () {        changePic('.first',0);       changePic('.second',1);        var shadeWidth = $('.shade').width(),//陰影的寬度         shadeHeight = $('.shade').height(),//陰影的高度         middleWidth = $('#container').width(),//容器的寬度         middleHeight = $('#container').height(),//容器的高度         bigWidth = $('.big').width(),//放大圖片盒子的寬度         bigHeight = $('.big').height(),//放大圖片盒子的高度         rateX = bigWidth / shadeWidth,//放大區和遮罩層的寬度比例         rateY = bigHeight / shadeHeight;//放大區和遮罩層的高度比例        //當鼠標移入與移出時陰影與放大去顯現/消失       $('#container').hover(function() {         $('.shade').show();         $('.big').show();       }, function() {         $('.shade').hide();         $('.big').hide();       }).mousemove(function(e) {//當鼠標移動時,陰影和放大區圖片進行移動          //記錄下光標距離頁面的距離         var x = e.pageX,           y = e.pageY;          //設置遮罩層的位置         $('.shade').offset({           top: y-shadeHeight/2,           left: x-shadeWidth/2         });             //獲取遮罩層相對父元素的位置         var cur = $('.shade').position(),           _top = cur.top,           _left = cur.left,           hdiffer = middleHeight - shadeHeight,           wdiffer = middleWidth - shadeWidth;          if (_top < 0) _top = 0;         else if (_top > hdiffer) _top = hdiffer;         if (_left < 0) _left = 0;         else if (_left > wdiffer) _left =wdiffer;          //判斷完成后設置遮罩層的范圍         $('.shade').css({           top: _top,           left: _left         });          //設置放大區圖片移動         $('.big img').css({           top: - rateY*_top,           left: - rateX*_left         });        });;        //封裝的改變圖片顯示的函數       function changePic (element,index) {         $(element).click(function() {           $('#container img').eq(index).css('display', 'block').siblings().css('display', 'none');           $('.big img').eq(index).css('display', 'block').siblings().css('display', 'none');         });       }            }); 

以上是常用的,下面這個是在原圖基礎上放大的

htm

<body>   <div id="father">     <div id="container">       <img src="img/400_1.jpg" style="display: block;">       <img src="img/400_2.jpg" >       <img src="img/400_3.jpg" >       <div class="shade">         <img src="img/800_1.jpg" style="display: block;">         <img src="img/800_2.jpg">         <img src="img/800_3.jpg">       </div>     </div>     <div class="small first"><img src="img/50_1.jpg"></div>     <div class="small second"><img src="img/50_2.jpg"></div>     <div class="small third"><img src="img/50_3.jpg"></div>   </div> </body> 

css代碼

*{padding: 0; margin: 0;}     #father .small{width: 50px; height: 50px; border: 2px solid #ccc; bottom: 0; position: absolute;}     #father .second{left: 70px;}     .third{left: 140px;}     #father{position: relative; top: 100px; left: 50px; height: 460px;}     #container{position: absolute; width: 400px; height: 400px;}     #container img{position: absolute; display: none;}     .shade{width: 200px; height: 200px; position: absolute; top: 0;left: 0; display: none; border-radius: 50%; overflow: hidden; background: #000;}     .shade img{display: none; width: 800px; height: 800px; position: absolute;} 

js代碼

<span style="white-space:pre">  </span><script type="text/javascript" src='js/jquery-1.12.4.min.js'></script>   <script type="text/javascript">     $(function () {        changePic('.first',0);       changePic('.second',1);       changePic('.third',2);        var shadeWidth = $('.shade').width(),//陰影的寬度         shadeHeight = $('.shade').height(),//陰影的高度         middleWidth = $('#container').width(),//容器的寬度         middleHeight = $('#container').height(),//容器的高度         bigImgWidth = $('.shade img').width(),//放大圖片盒子的寬度         bigImgHeight = $('.shade img').height(),//放大圖片盒子的高度         rateX = bigImgWidth / middleWidth,//放大區和遮罩層的寬度比例2         rateY = bigImgHeight / middleHeight;//放大區和遮罩層的高度比例2        //當鼠標移入與移出時陰影與放大去顯現/消失       $('#container').hover(function() {         $('.shade').show();         $('.big').show();       }, function() {         $('.shade').hide();         $('.big').hide();       }).mousemove(function(e) {//當鼠標移動時,陰影和放大區圖片進行移動                   //記錄下光標距離頁面的距離         var x = e.pageX,           y = e.pageY;          //設置遮罩層的位置         $('.shade').offset({           top: y-shadeHeight/2,           left: x-shadeWidth/2         });             //獲取遮罩層相對父元素的位置         var cur = $('.shade').position(),           _top = cur.top,           _left = cur.left,           hdiffer = middleHeight - shadeHeight,           wdiffer = middleWidth - shadeWidth;          if (_top < 0) _top = 0;         else if (_top > hdiffer) _top = hdiffer;         if (_left < 0) _left = 0;         else if (_left > wdiffer) _left =wdiffer;          //判斷完成后設置遮罩層的范圍         $('.shade').css({           top: _top,           left: _left         });                   //設置放大區圖片移動         $('.shade img').css({           top: - _top*rateY*3/2,           left: - _left*rateX*3/2         });        });;        //封裝的改變圖片顯示的函數       function changePic (element,index) {         $(element).click(function() {           $('#container img').eq(index).css('display', 'block').siblings().css('display', 'none');           $('.shade img').eq(index).css('display', 'block').siblings().css('display', 'none');         });       }            }); <span style="white-space:pre">  </span></script> 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日韩性视频| 亚洲色图25p| 日韩av最新在线观看| 欧美黄色三级网站| 爽爽爽爽爽爽爽成人免费观看| 国产亚洲精品美女久久久久| 高清欧美性猛交| 91在线观看免费高清| 欧美日韩成人在线观看| 成人在线视频网| 亚洲天堂av电影| 亚洲欧美综合另类中字| 欧美性资源免费| 亚洲欧美制服丝袜| 亚洲深夜福利网站| 亚洲国产精品久久久久秋霞蜜臀| 亚洲精品狠狠操| 欧美又大又硬又粗bbbbb| 亚洲国产精品99久久| 亚洲欧美国产精品| 97视频免费看| 国产日韩中文在线| 一区二区在线免费视频| 亚洲最大av网| 日韩av理论片| 成人看片人aa| 欧美大片免费看| 国产美女91呻吟求| 精品少妇v888av| 日韩av片免费在线观看| 中文字幕一区日韩电影| 欧美性xxxxxxxxx| 亚洲一二三在线| 综合国产在线观看| 日韩暖暖在线视频| 一区二区三区视频在线| 中文字幕在线看视频国产欧美在线看完整| 在线不卡国产精品| 欧美日韩美女视频| 国产精品h片在线播放| 黑人极品videos精品欧美裸| 亚洲国产另类 国产精品国产免费| 韩国美女主播一区| 欧美精品videos性欧美| 97免费视频在线播放| 欧美日韩裸体免费视频| 国产精品白嫩美女在线观看| 国产精品影院在线观看| 成人444kkkk在线观看| 久久夜色精品亚洲噜噜国产mv| 欧美一区二区三区免费观看| 欧美一级免费看| 日韩免费观看高清| 亚洲电影在线观看| 懂色av影视一区二区三区| 欧美日韩亚洲国产一区| 国产精品video| 国产精品色午夜在线观看| 97热精品视频官网| 伊人伊成久久人综合网站| 久久激情视频久久| 精品国产一区二区三区久久久狼| 久久天天躁狠狠躁夜夜躁2014| 欧美激情一区二区三级高清视频| 色综合久久精品亚洲国产| 久久久久久久影院| 日韩的一区二区| 国产精品美女主播| 欧美大片免费看| 亚洲成年人在线播放| 久久精品国产久精国产一老狼| 色一情一乱一区二区| 亚洲激情电影中文字幕| 亚洲最大福利视频网| 日韩免费在线电影| 久久久久久com| 国产成人精品免费久久久久| 成人激情视频小说免费下载| 午夜精品一区二区三区在线播放| 国产精品成人一区二区| 中文字幕久久精品| 久久99视频免费| 影音先锋欧美在线资源| 久久福利视频导航| 国产aaa精品| 成人黄色大片在线免费观看| 国产精品老牛影院在线观看| 97视频国产在线| 欧美最顶级丰满的aⅴ艳星| 视频在线一区二区| 国产一区二区三区在线| 久久精品免费电影| 91社影院在线观看| 日韩精品中文字幕在线播放| 国产一区二区三区免费视频| 亚洲精品美女在线观看播放| 亚洲色图色老头| 91大神在线播放精品| 亚洲a∨日韩av高清在线观看| 午夜精品美女自拍福到在线| 欧美特级www| 国内精品视频久久| 久久中文字幕国产| 亚洲网站在线看| 亚洲精品永久免费| 国产精品三级在线| 一本色道久久88亚洲综合88| 亚洲欧美日韩中文在线| 欧美视频二区36p| 日本道色综合久久影院| 久久久久久久一区二区| 久久夜色精品国产欧美乱| 国产成+人+综合+亚洲欧洲| 91欧美精品成人综合在线观看| 国产精品r级在线| 日韩国产欧美区| 亚洲字幕一区二区| 欧美另类xxx| 亚洲91精品在线| 欧美不卡视频一区发布| 亚洲美女精品成人在线视频| 国产精品人成电影在线观看| 欧美性xxxxx极品| 国产日韩欧美日韩大片| 国产日产亚洲精品| 欧美黄色片在线观看| 亚洲电影免费观看高清完整版在线观看| 欧美电影在线播放| 亚洲激情在线观看视频免费| 亚洲一区二区中文字幕| 欧美性猛交xxxx乱大交3| 亚洲精品国产suv| 亚洲伊人一本大道中文字幕| 亚洲国产天堂久久综合| 亚洲自拍欧美另类| 亚洲欧美日韩图片| 欧美诱惑福利视频| 影音先锋欧美在线资源| 成人免费观看网址| 97视频色精品| 日韩av在线免费播放| 日韩精品久久久久久久玫瑰园| 91久久在线观看| 久久中文字幕国产| 国内精品在线一区| 欧美大人香蕉在线| 久久视频免费观看| 久久久久久久久久av| 91久久久久久国产精品| 久热精品视频在线| 国产精品电影久久久久电影网| 久久久久久久久中文字幕| 亚洲天堂免费在线| 欧美激情视频在线免费观看 欧美视频免费一| 欧美日韩精品在线播放| 国产精品黄色av| 亚洲xxxx视频| 亚洲欧洲成视频免费观看| 亚洲欧美在线免费观看| 亚洲aⅴ男人的天堂在线观看| 91老司机在线| 久久久久久成人精品| 国产女人精品视频| 国产欧美久久一区二区|