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

首頁 > 開發 > JS > 正文

JavaScript實現圖片放大鏡效果

2024-05-06 16:52:51
字體:
來源:轉載
供稿:網友

本文實例為大家分享了js實現圖片放大鏡效果的具體代碼,供大家參考,具體內容如下

1、結構布局HTML代碼

<div class="leftcon" id="left"> <img src="~/Content/images/風景-1.jpg" /> <div class="slide_box" id="box"></div></div><div class="rightcon" id="right"> <img src="~/Content/images/風景-1.jpg" /></div>

2、修飾結構css樣式代碼

img {display: block;}.leftcon {width: 350px;height: 350px;margin: 100px 20px 0px 312px;float: left;position: relative;box-shadow: 3px 3px 10px 0 #111111; /*給圖片施加陰影效果 */-webkit-box-shadow: 3px 3px 10px 0 #111111; /*兼容性處理*/-moz-box-shadow: 3px 3px 10px 0 #111111;}.leftcon img {width: 100%;height: 100%;}.leftcon .slide_box {display: none; /*將小方塊盒子隱藏*/position: absolute;top: 0;left: 0;width: 175px;height: 175px;background: #000;opacity: 0.3;cursor: move; /*改變鼠標的形狀*/}.rightcon {display: none; /*將右邊div隱藏*/width: 350px;height: 350px;margin-top: 100px;float: left;overflow: hidden;position: relative;}.rightcon img {width: 200%;height: 200%;position: absolute;left: 0px;top: 0px;}

3、js獲取事件對象

1)、Event是獲取事件對象,對象代表事件的狀態,比如事件在其中發生的元素、鍵盤按鍵的狀態、
鼠標的位置、鼠標按鈕的狀態,envet是windows的一個屬性。 放大鏡實現方法(獲取右邊圖片定位)
2)、e.clientY:返回事件觸發時鼠標相對于元素視口的Y坐標。
e.clientX:返回事件觸發時鼠標相對于元素視口的X坐標。
這里的元素視口實際上代指就是瀏覽器,clientX是鼠標距離瀏覽器左邊框的距離,
clientY是鼠標距離瀏覽器上邊框的距離。
offsetTop獲取對象相對于版面或由offsetTop屬性指定的父坐標的計算頂端位置。
這里就是左邊的div相對于body即瀏覽器窗口的縱向距離
offsetLeft獲取對象相對于版面或由offsetLeft屬性指定的父坐標的計算頂端位置。
這里就是左邊的div相對于body即瀏覽器窗口的縱橫向距離
offsetHeight是對象的可見高度。這里是指小滑塊的高度
offsetHeight是對象的可見寬度。這里是指小滑塊的寬度

var leftone = document.getElementById('left');var rightone = document.getElementById('right');var box = document.getElementById('box');var rimg = rightone.getElementsByTagName("img")[0];function getPosition(e){ //這里的參數e就是代表event //首先我們要去判斷事件源,獲取事件源,也就是e  var e=e||window.event;  //實現兼容  //理解:  //這個表達式寫全是這樣:var e=event?event||window.event;  //如果存在event,那么var e=event;而如果不存在event,  //那么var e=window.event.那么可以看出確實能實現兼容 var top = e.clientY-leftone.offsetTop-box.offsetHeight/2;  //計算小圖容器里的鼠標坐標(要減去最外層的偏移) var left = e.clientX-leftone.offsetLeft-box.offsetWidth/2; //這里為什么除以2?是因為我們不除以2的話,事件源也就是鼠標就在這個小滑塊的的右下角,并不美觀  //我們要讓鼠標位于滑塊的中心,所以寬高各減去一半    //邊界判斷    //獲取小滑塊最大縱向移動距離    var maxtop = leftone.offsetHeight - box.offsetHeight;     //獲取小滑塊最大橫向移動距離    var maxleft = leftone.offsetWidth - box.offsetWidth;     var mintop = 0; //獲取小滑塊最小縱向移動距離    var minleft = 0; //獲取小滑塊最大縱向移動距離    var mvtop; //定義小滑塊的縱向移動距離    var mvleft; //定義小滑塊的橫向移動距離    // 判斷    if (top<mintop) {    box.style.top = mintop + "px";      mvtop = mintop;      //理解:  //top是鼠標到瀏覽器的垂直距離-左邊div頂部到瀏覽器的垂直距離-小滑塊的高度的一半。  //那么現在鼠標在小滑塊的中心,也就是說,top就等于小滑塊的頂部到左邊div的垂直距離  //如果top<0,就是說小滑塊和左邊div頂部重合,就讓小滑塊的top值為0,即鼠標繼續向上移動,  //小滑塊不在移動,從而讓小滑塊的移動范圍不能超過左邊div的寬高范圍  //下方同理    }else if(top>maxtop){      box.style.top = maxtop + "px";      mvtop = maxtop; //如果top>maxtop,就是說小滑塊和左邊div底部重合,就讓小滑塊的top值為maxtop, //即鼠標繼續向下移動,小滑塊不在移動,從而讓小滑塊的移動范圍不能超過左邊div的寬高范圍    }else{      box.style.top = top + "px";      mvtop = top;      //不超過邊界,則小滑塊的垂直移動距離就等于top,即小滑塊的頂部到左邊div的垂直距離    }    if(left<minleft){      box.style.left = minleft + "px";      mvleft = minleft    }else if(left>maxleft){      box.style.left = maxleft + "px";      mvleft = maxleft    }else{      box.style.left = left + "px";      mvleft = left;    } //因為右邊div的圖片是左邊div的圖片的兩倍,而左邊div和右邊div都是小滑塊的寬高的兩倍, //而要讓右邊div放大左邊的小滑塊的包圍圖片,所以右邊大圖的定位坐標是小滑塊的兩倍,這樣才能進行映射 //右側圖片跟著運動:左側小滑塊移動多少,右側跟著移動他的2倍即可    rimg.style.top = -mvtop*2 + "px";    rimg.style.left = -mvleft*2 + "px"; }

4、鼠標移入、移出事件

左側盒子鼠標移入,小滑塊和右側圖片顯示,銜接鼠標移動效果
onmouseenter 事件類似于 onmouseover 事件。 唯一的區別是 onmouseenter 事件不支持冒泡。

//鼠標移動效果leftone.onmousemove = function(e){ var e=e||window.event; //判斷事件源 box.style.display = "block";    getPosition(e); rightone.style.display = "block";}//鼠標移出效果leftone.onmouseleave = function(e){ var e=e||window.event; //判斷事件源    box.style.display = "none";    rightone.style.display = "none";}

5、效果圖

JavaScript,圖片,放大鏡

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品亚洲第一区| 国产精品扒开腿做爽爽爽男男| 欧洲亚洲妇女av| 国产一区二区在线免费| 亚洲精品一区久久久久久| 国产精品一区专区欧美日韩| 羞羞色国产精品| 日韩欧美国产中文字幕| 91高清视频在线免费观看| 国产亚洲精品久久久久动| 国产午夜精品免费一区二区三区| 久久久久久中文字幕| 国产精品视频资源| 中文字幕亚洲专区| 午夜精品一区二区三区在线| 亚洲成年人在线播放| 欧美俄罗斯乱妇| 久久国产精品免费视频| 欧美日韩ab片| 日韩av一卡二卡| 国产日韩欧美夫妻视频在线观看| 亚洲国产成人爱av在线播放| 国产综合色香蕉精品| 日韩精品一区二区视频| 欧美人交a欧美精品| 国产精品电影久久久久电影网| 日韩在线视频中文字幕| 国产美女精品免费电影| 国模精品系列视频| 欧美日韩久久久久| 黑人精品xxx一区| 欧美精品精品精品精品免费| 国产91在线播放| 中文字幕av一区中文字幕天堂| 国产成人精品在线视频| 国产97色在线|日韩| 亚洲精品少妇网址| 久久久久女教师免费一区| 国产亚洲视频在线观看| 欧美激情在线观看视频| 69久久夜色精品国产69| 久久久精品视频成人| 成人激情av在线| 久久综合久久美利坚合众国| 欧美影院在线播放| 亚洲成人激情图| www.欧美精品一二三区| 亚洲精选在线观看| 欧美日韩免费一区| 国语自产精品视频在线看一大j8| 久久不射电影网| 亚洲第一av在线| 国外成人在线直播| 亚洲毛片在线观看| 国产精品久久久久久久久免费| 亚洲国产天堂网精品网站| 日韩精品久久久久久久玫瑰园| 日本欧美爱爱爱| 色偷偷噜噜噜亚洲男人| 久久久在线视频| 日韩欧美精品中文字幕| 成人免费视频网| 欧美有码在线观看视频| 欧美精品情趣视频| 国产成人jvid在线播放| 国产精品久久久久国产a级| 欧美日韩一区二区精品| 日韩精品一区二区三区第95| 日韩av网址在线观看| 色偷偷噜噜噜亚洲男人的天堂| 欧美激情视频在线免费观看 欧美视频免费一| 国产亚洲人成a一在线v站| 亚洲最大的av网站| 久久久久久久一区二区| 免费97视频在线精品国自产拍| 亚洲春色另类小说| 久久免费在线观看| 综合网中文字幕| 欧美性在线观看| 国产精品情侣自拍| 91在线|亚洲| 91精品综合久久久久久五月天| 欧美激情一区二区三区久久久| 亚洲色图综合久久| 日韩电影大全免费观看2023年上| 亚洲成人网在线观看| 欧美国产日韩xxxxx| 国产日韩在线精品av| 亚洲人成77777在线观看网| 久久视频在线播放| 成人字幕网zmw| 国产97色在线|日韩| 91免费视频网站| 欧美一级淫片aaaaaaa视频| 亚洲欧美国产日韩中文字幕| 色噜噜亚洲精品中文字幕| 亚洲最大av网站| 在线视频欧美性高潮| 国产精品久久一| 热99在线视频| 日韩在线观看高清| 亚洲精品suv精品一区二区| 国产精品久久久久久亚洲影视| 国产精品99久久久久久白浆小说| xxxx欧美18另类的高清| 国产精品第一区| 深夜福利国产精品| 午夜精品视频网站| 91久久国产精品91久久性色| 日韩av在线免费看| 国产91色在线| 亚洲精品久久久一区二区三区| 97视频在线免费观看| 97超碰国产精品女人人人爽| 国内精品在线一区| 成人性生交大片免费看视频直播| 91精品视频在线播放| 国产日韩av在线| 亚洲视频一区二区| 久久亚洲精品小早川怜子66| 欧美在线观看一区二区三区| 91色在线观看| 国产精品视频一区国模私拍| 欧美性生交xxxxx久久久| 久久99精品视频一区97| 国产精品h片在线播放| 久久精品国产99国产精品澳门| 欧美与黑人午夜性猛交久久久| 永久555www成人免费| 91黑丝在线观看| 日韩精品在线视频| 亚洲成人精品久久久| 亚洲女在线观看| 久久影视免费观看| 精品偷拍各种wc美女嘘嘘| 国产精品xxx视频| yw.139尤物在线精品视频| 九九精品在线播放| 中文字幕日韩综合av| 国产精品福利在线观看网址| 91国在线精品国内播放| 日韩欧美成人免费视频| 日韩精品中文字幕在线观看| 成人av在线亚洲| 成人精品一区二区三区| 国产精品久久一区主播| 日韩精品在线观看网站| 亚洲电影天堂av| 国产精品99免视看9| 色天天综合狠狠色| 国产成人拍精品视频午夜网站| 亚洲在线观看视频网站| 久久久久久有精品国产| 国产成人一区二区三区| 国产成人极品视频| 中文字幕九色91在线| 亚洲欧美第一页| 国产日本欧美在线观看| 亚洲精品视频二区| 中文字幕日韩在线播放| 亚洲欧美日韩区| www.亚洲天堂| 中文字幕日韩av综合精品| 91精品免费视频|