jquery實現(xiàn)放大鏡簡潔代碼(推薦)
簡介
網(wǎng)上有許多放大鏡的jquery的插件,但是用著不是那么得心應(yīng)手,現(xiàn)在一頁代碼實現(xiàn)一個放大鏡功能,如果需要附加的功能可以手動修改,原理都在注釋里
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>放大鏡效果</title> <style type="text/css"> * { margin: 0; padding: 0; } .small { margin-left:40px; margin-top:50px; width: 150px; height: 150px; /*border: 2px solid yellow;*/ } .small>img { width: 150px; height: 150px; } .slider { width: 50px; height: 50px; background: rgba(180,180,135,0.3); position: absolute; display: none; } #big { //設(shè)置為固定大小; width: 200px; height: 200px; position: absolute; /* border: 2px solid red;*/ overflow: hidden; display: none; } </style> </head> <body> <!--縮略圖--> <div class="small"> <img src="thumb.jpg" /> <!--放大鏡,在原圖不上的小塊--> <div class="slider"></div> </div> <!--放大鏡區(qū)域,大圖,設(shè)置為none隱藏--> <div id="big"> <img id="bigImg" src="big.jpg" /> </div> even.clientX<input type="text" value="0" id="test" /><br/> even.clientY<input type="text" value="0" id="test1" /> <script type="text/javascript" src="jquery-1.7.2.min.js"></script> <script type="text/javascript"> var small = $(".small")[0]; var slider = $(".slider")[0]; var big = document.getElementById("big");//試一試js獲取 var bigImg = document.getElementById("bigImg"); //讓slider跟隨鼠標(biāo)移動.給小的方塊綁定事件 $(".small").mousemove(function(e) { var even = e || event; //兼容火狐瀏覽器 var x = even.clientX - small.offsetLeft - slider.offsetWidth/2; var y = even.clientY - small.offsetTop - slider.offsetHeight/2; //測試even.clientX和even.clientY $("#test").val(even.clientX); $("#test1").val(even.clientY); //水平方向的最大值 var maxX = small.clientWidth - slider.clientWidth; //豎直方向的最大值 var maxY = small.clientHeight - slider.clientHeight; if(x<0){ //相當(dāng)于超出左側(cè),超出左側(cè)時,拉回 x=0; } //超出右側(cè)時拉回 if(x>maxX){ x = maxX; } //頂部超出 if(y<0){ y=0; } //底部超出 if(y>maxY){ y = maxY; } slider.style.top = (y+small.offsetTop) + "px"; slider.style.left = (x+small.offsetLeft) + "px"; //放大的圖片的主要實現(xiàn)代碼:比例計算, big.scrollLeft是id=big的div中下方滾軸的位置 //由于id=big的div設(shè)置成固定大小,而圖片又非常大,所以這個div就像個放大鏡一樣在大圖上晃 //比例計算很簡單,鼠標(biāo)在縮略圖的位置與縮略圖寬高比=鼠標(biāo)在大圖位置與大圖寬高比,現(xiàn)在未知數(shù)是大圖鼠標(biāo)的位置 big.scrollLeft = x/maxX * (bigImg.clientWidth - big.clientWidth) ; big.scrollTop = y/maxY * (bigImg.clientHeight -big.clientHeight) ; }); //鼠標(biāo)移入事件 $(".small").mouseenter(function(){ //鼠標(biāo)移入到縮略圖時候?qū)崿F(xiàn),上面出現(xiàn)的小的方塊 $(".slider").css("display","block"); $("#big").css("top",small.offsetTop+"px"); //隱藏的大圖=獲取左圖的左邊位置+寬度+10(隔開點縫隙與縮略圖)+px big.style.left = small.offsetLeft + small.offsetWidth + 10 + "px"; //右側(cè)的大圖區(qū)域顯示出來圖片 $("#big").css("display","block"); }); //移除事件 //添加鼠標(biāo)移出事件,鼠標(biāo)移出縮略圖的時候 $(".small").mouseleave(function(){ $(".slider").css("display","none"); $("#big").css("display","none"); }); </script> </body> </html>
下載demo
https://github.com/mytheshow/...
鏈接: http://pan.baidu.com/s/1nvMBgb3
以上所述是小編給大家介紹的jquery實現(xiàn)放大鏡簡潔代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
- jquery圖片放大鏡效果
- jQuery實現(xiàn)的放大鏡效果示例
- 基于jquery編寫的放大鏡插件
- jQuery實現(xiàn)圖片局部放大鏡效果
- jQuery實現(xiàn)放大鏡效果實例代碼
- 基于jQuery仿淘寶產(chǎn)品圖片放大鏡特效
- 基于jQuery實現(xiàn)放大鏡特效
- jquery實現(xiàn)圖片放大鏡功能
- 基于jQuery仿淘寶產(chǎn)品圖片放大鏡代碼分享
- 基于jquery實現(xiàn)放大鏡效果
- 使用jquery實現(xiàn)放大鏡效果
- jquery放大鏡效果超漂亮噢
- jquery圖片放大鏡功能的實例代碼
- 基于jquery的放大鏡效果
- 實現(xiàn)jquery放大鏡的兩種方法
相關(guān)文章
jQuery Real Person驗證碼插件防止表單自動提交
這篇文章為大家介紹了一款jQuery驗證碼插件Real Person,可以防止自動提交表單2015-11-11jQuery實現(xiàn)div隨意拖動的實例代碼(通用代碼)
這篇文章主要介紹了jQuery實現(xiàn)div隨意拖動的實例代碼,涉及到j(luò)query div隨意拖動相關(guān)知識,感興趣的朋友一起學(xué)習(xí)吧2016-01-01jquery選擇器中的空格與大于號>、加號+與波浪號~的區(qū)別介紹
這篇文章主要介紹了jquery選擇器中的空格與大于號>、加號+與波浪號~的區(qū)別介紹的相關(guān)資料,需要的朋友可以參考下2016-06-06jQuery實現(xiàn)響應(yīng)鼠標(biāo)滾動的動感菜單效果
這篇文章主要介紹了jQuery實現(xiàn)響應(yīng)鼠標(biāo)滾動的動感菜單效果,可實現(xiàn)鼠標(biāo)滑過菜單項呈現(xiàn)文字上下滑動變換的效果,涉及jQuery頁面元素樣式的動態(tài)設(shè)置技巧,需要的朋友可以參考下2015-09-09jQuery基礎(chǔ)知識filter()和find()實例說明
這是jQuery里常用的2個方法。他們2者功能是完全不同的,而初學(xué)者往往會被誤導(dǎo)。2010-07-07jquery實現(xiàn)加載更多"轉(zhuǎn)圈圈"效果(示例代碼)
這篇文章主要介紹了jquery實現(xiàn)加載更多"轉(zhuǎn)圈圈"效果,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-11-11