JavaScript如何制作放大鏡效果?這個問題可能是我們日常學習或工作經(jīng)常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家?guī)淼膮⒖純热荩屛覀円黄饋砜纯窗桑?/p>
成都創(chuàng)新互聯(lián)服務項目包括猇亭網(wǎng)站建設、猇亭網(wǎng)站制作、猇亭網(wǎng)頁制作以及猇亭網(wǎng)絡營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關系等,向廣大中小型企業(yè)、政府機構等提供互聯(lián)網(wǎng)行業(yè)的解決方案,猇亭網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟效益。目前,我們服務的客戶以成都為中心已經(jīng)輻射到猇亭省份的部分城市,未來相信會繼續(xù)擴大服務區(qū)域并繼續(xù)獲得客戶的支持與信任!
實現(xiàn)原理:使用2個div,里面分別放大圖片和小圖片,在小圖片上應該還有一個遮罩層,通過定位遮罩層的位置來定位大圖片的相對位置,而且,遮罩層的移動應該和大圖片的移動方向相反
關鍵: 大圖片和小圖片大小比例應該和遮罩層的大小和放大顯示區(qū)域的比例相同;
難點: 計算遮罩層來顯示相應大圖片的位置
話不多說直接看代碼
代碼
html:
<div id="small"> <div id="pic1"> <img src="62-130501163925.jpg" alt=""> </div> <div id="mask"></div> </div> <div id="big"> <div id="pic2"> <img src="62-130501163925.jpg" alt=""> </div> </div>
css
#small{ width: 500px; height: 312px; position: absolute; left: 20px; top: 20px; } #pic1{ position: absolute; left: 0px; top: 0px; } #pic1 img{ width: 100%; height: 100%; } #big{ width: 200px; height: 200px; position: absolute; right: 50px; top: 50px; border: 1px solid blue; overflow: hidden; } #pic2{ width: 1000px; height: 625px; position: absolute; left: 0; top: 0; } #pic2 img{ width: 100%; height: 100%; } #mask{ width: 100px; height: 100px; background: black; opacity: 0.3;/*讓遮罩層看起來透明*/ filter: alpha(opacity = 30);/*兼容不同的瀏覽器*/ position: absolute; display: none; }
js
window.onload = function(){//文檔內容加載完之后再執(zhí)行 //當鼠標移入小圖片,顯示遮罩層和放大的區(qū)域 $('small').onmouseenter = function(){ $('mask').style.display = 'block'; $('big').style.display='block'; } //鼠標移出時,隱藏遮罩層和放大的區(qū)域 $('small').onmouseleave = function(){ $('mask').style.display='none'; $('big').style.display="none"; } //鼠標移動 $('small').onmousemove = function(ev){ var e = ev || window.event; //計算鼠標的位置,并讓鼠標顯示在遮罩層的中間 var l = e.clientX - $('small').offsetLeft - 50; var t = e.clientY - $('small').offsetTop -50; //別讓遮罩層移出圖片 if(l <= 0){ l = 0; } if(l >= 500 - 100){ l = 400; } if(t <= 0){ t = 0; } if(t >= 312 - 100){ t = 212; } //遮罩層的移動 $('mask').style.left = l + 'px'; $('mask').style.top = t + 'px'; //通過遮罩層移動,來計算出放大后圖片的顯示區(qū)域 $("pic2").style.left = -$("mask").offsetLeft * 2 + 'px'; $("pic2").style.top = -$("mask").offsetTop * 2 + 'px'; } } //為了更容容易的獲取id function $(id){ return document.getElementById(id); }
感謝各位的閱讀!看完上述內容,你們對JavaScript如何制作放大鏡效果大概了解了嗎?希望文章內容對大家有所幫助。如果想了解更多相關文章內容,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
文章名稱:JavaScript如何制作放大鏡效果
本文來源:http://www.rwnh.cn/article12/jgjhgc.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、用戶體驗、App設計、響應式網(wǎng)站、小程序開發(fā)、動態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)