簡(jiǎn)介
成都創(chuàng)新互聯(lián)公司從2013年成立,是專(zhuān)業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站制作、成都網(wǎng)站制作網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元五華做網(wǎng)站,已為上家服務(wù),為五華各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話(huà):028-86922220
網(wǎng)上有許多放大鏡的jquery的插件,但是用著不是那么得心應(yīng)手,現(xiàn)在一頁(yè)代碼實(shí)現(xiàn)一個(gè)放大鏡功能,如果需要附加的功能可以手動(dòng)修改,原理都在注釋里
<!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)移動(dòng).給小的方塊綁定事件 $(".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; //測(cè)試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è)時(shí),拉回 x=0; } //超出右側(cè)時(shí)拉回 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"; //放大的圖片的主要實(shí)現(xiàn)代碼:比例計(jì)算, big.scrollLeft是id=big的div中下方滾軸的位置 //由于id=big的div設(shè)置成固定大小,而圖片又非常大,所以這個(gè)div就像個(gè)放大鏡一樣在大圖上晃 //比例計(jì)算很簡(jiǎn)單,鼠標(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)移入到縮略圖時(shí)候?qū)崿F(xiàn),上面出現(xiàn)的小的方塊 $(".slider").css("display","block"); $("#big").css("top",small.offsetTop+"px"); //隱藏的大圖=獲取左圖的左邊位置+寬度+10(隔開(kāi)點(diǎn)縫隙與縮略圖)+px big.style.left = small.offsetLeft + small.offsetWidth + 10 + "px"; //右側(cè)的大圖區(qū)域顯示出來(lái)圖片 $("#big").css("display","block"); }); //移除事件 //添加鼠標(biāo)移出事件,鼠標(biāo)移出縮略圖的時(shí)候 $(".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實(shí)現(xiàn)放大鏡簡(jiǎn)潔代碼,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)創(chuàng)新互聯(lián)網(wǎng)站的支持!
網(wǎng)頁(yè)名稱(chēng):jquery實(shí)現(xiàn)放大鏡簡(jiǎn)潔代碼(推薦)
URL標(biāo)題:http://chinadenli.net/article0/jiooio.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供云服務(wù)器、網(wǎng)站維護(hù)、小程序開(kāi)發(fā)、ChatGPT、動(dòng)態(tài)網(wǎng)站、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)