JS實(shí)現(xiàn)放大鏡效果
JS實(shí)現(xiàn)放大鏡效果,供大家參考,具體內(nèi)容如下
鼠標(biāo)移到圖片上就可以放大一塊區(qū)域
代碼:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> #small{ width: 700px; height: 340px; position: absolute; left: 70px; top: 100px; } #small img{ width: 100%; height: 100%; } #mark{ width: 200px; height: 200px; background-color:white; position: absolute; opacity: 0.5; filter: alpha(opacity=50); left: 0px; top: 0px; display: none; } #big{ width: 400px; height: 400px; border: 1px solid black; left: 800px; top: 100px; position: absolute; overflow: hidden; display: none; } #big img{ width: 1400px; height: 680px; position: absolute; left: 0px; top: 0px; } </style> <script> window.onload = function(){ var oSmall = document.getElementById("small"); var oBig = document.getElementById("big"); var oMark = document.getElementById("mark"); var oBigImg = oBig.getElementsByTagName("img")[0]; oSmall.onmouseover = function(){ oMark.style.display = "block"; oBig.style.display = "block"; } oSmall.onmouseout = function(){ oMark.style.display = "none"; oBig.style.display = "none"; } oSmall.onmousemove = function(ev){ var e = ev || window.event; var l = e.clientX - oSmall.offsetLeft - 100; if(l <= 0){ l = 0; } if(l >= (700-200)){ l = 500; } var t = e.clientY - oSmall.offsetTop - 100; if(t <= 0){ t = 0; } if(t >= (340-200)){ t = 140; } oMark.style.left = l + 'px'; oMark.style.top = t + 'px'; /* 右邊圖片移動(dòng)方向與左邊圖片方向相反且成倍數(shù)移動(dòng) */ oBigImg.style.left = l * -2 + 'px'; oBigImg.style.top = t * -2 + 'px'; } } </script> </head> <body> <div id="small"> <img src="地獄之門衛(wèi)士 加里奧.jpg" alt="怎么回事"> <div id="mark"></div> </div> <div id="big"> <img src="地獄之門衛(wèi)士 加里奧.jpg" alt="怎么回事"> </div> </body> </html>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
js實(shí)現(xiàn)的簡(jiǎn)練高效拖拽功能示例
這篇文章主要介紹了js實(shí)現(xiàn)的簡(jiǎn)練高效拖拽功能,通過(guò)對(duì)js鼠標(biāo)事件的擴(kuò)展實(shí)現(xiàn)拖拽效果,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下2016-12-12JavaScript如何實(shí)現(xiàn)組合列表框中元素移動(dòng)效果
在頁(yè)面中有兩個(gè)列表框,需要把其中一個(gè)列表框的元素移動(dòng)到另一個(gè)列表框,怎么實(shí)現(xiàn)此功能呢,下面通過(guò)本文給大家介紹JavaScript如何實(shí)現(xiàn)組合列表框中元素移動(dòng)效果,感興趣的朋友一起學(xué)習(xí)吧2016-03-03js跨域請(qǐng)求數(shù)據(jù)的3種常用的方法
這篇文章主要介紹了js跨域請(qǐng)求數(shù)據(jù)的3種常用的方法,需要的朋友可以參考下2015-12-12數(shù)據(jù)分析軟件之FineReport教程:[5]參數(shù)界面JS(全)
表格軟件FineReport在設(shè)計(jì)報(bào)表時(shí)經(jīng)常會(huì)用到,這篇文章主要介紹數(shù)據(jù)分析軟件之FineReport教程:[5]參數(shù)界面JS,需要的朋友可以參考下2015-08-08BootstrapValidator實(shí)現(xiàn)表單驗(yàn)證功能
這篇文章主要為大家詳細(xì)介紹了BootstrapValidator實(shí)現(xiàn)表單驗(yàn)證功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-11-11ie9 提示''console'' 未定義問(wèn)題的解決方法
關(guān)掉開發(fā)者工具之后,在狀態(tài)欄發(fā)現(xiàn)提示'console' 未定義,為什么之前的運(yùn)行沒(méi)有問(wèn)題,之后的就不行呢2014-03-03