JS实现图片放大镜效果:完整代码与实现原理

作者:闭包旅人时间:2026-10-22 15:56:45浏览:665

本文介绍如何使用JavaScript实现图片放大镜效果。通过监听鼠标移动事件,动态计算并调整放大区域的显示位置与尺寸,实现局部细节的放大查看。包含完整的HTML结构、CSS样式及JS逻辑代码,可直接复制运行,适用于前端开发中的图片浏览功能增强。

图片放大镜效果实现代码

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html><head><title>本站 js图片放大镜</title> <meta http-equiv="imagetoolbar" content="no"> <style type="text/css">     body {         background: #222;         overflow: hidden;         left: 0;         top: 0;         width: 100%;         height: 100%;         margin: 0;         padding: 0;     }     #screen span {         position:absolute;         overflow:hidden;         border:#FFF solid 1px;         background:#FFF;     }     #screen img{         position:absolute;         left:-32px;         top:-32px;         cursor: pointer;     }     #caption, #title{         color: #FFF;         font-family: georgia, 'times new roman', times, veronica, serif;         font-size: 1em;         text-align: center;     }     #caption b {         font-size: 2em;     } </style> </head><body> <div style="position: absolute; left: 50%; top: 50%;">     <div id="title" style="position: absolute; width: 440px; height: 40px; left: -220px; top: -200px;"></div>     <div id="border" style="border: 1px solid rgb(85, 85, 85); background: rgb(0, 0, 0) none repeat scroll 0%; position: absolute; width: 440px; height: 340px; left: -220px; top: -170px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"></div>     <div id="screen" style="background: rgb(0, 0, 0) none repeat scroll 0%; position: absolute; width: 400px; height: 300px; left: -200px; top: -150px; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">         <span style="left: 0px; top: 0px; width: 93px; height: 68px; z-index: 93;"><img src="/upload/20080504192147592.jpg" /></span>         <span style="left: 0px; top: 78px; width: 93px; height: 68px; z-index: 93;"><img src="/upload/20080504192148526.jpg" /></span>         <span style="left: 0px; top: 155px; width: 93px; height: 68px; z-index: 93;"><img src="/upload/20080504192151907.jpg" /></span>         <span style="left: 0px; top: 233px; width: 93px; height: 68px; z-index: 93;"><img src="/upload/20080504192153429.jpg" /></span>         <span style="left: 103px; top: 0px; width: 93px; height: 68px; z-index: 93;"><img src="/upload/20080504192154128.jpg" /></span>         <span style="left: 103px; top: 78px; width: 93px; height: 68px; z-index: 93;"><img src="/upload/20080504192154190.jpg" /></span>         <span style="left: 103px; top: 155px; width: 93px; height: 68px; z-index: 93;"><img src="/upload/20080504192154345.jpg" /></span>         <span style="left: 103px; top: 233px; width: 93px; height: 68px; z-index: 93;"><img src="/upload/20080504192155839.jpg" /></span>         <span style="left: 205px; top: 0px; width: 93px; height: 68px; z-index: 93;"><img src="/upload/20080504192156858.jpg" /></span>         <span style="left: 205px; top: 78px; width: 93px; height: 68px; z-index: 93;"><img src="/upload/20080504192156118.jpg" /></span>         <span style="left: 205px; top: 155px; width: 93px; height: 68px; z-index: 93;"><img src="/upload/20080504192157749.jpg" /></span>         <span style="left: 205px; top: 233px; width: 93px; height: 68px; z-index: 93;"><img src="/upload/20080504192158181.jpg" /></span>         <span style="left: 308px; top: 0px; width: 93px; height: 68px; z-index: 93;"><img src="/upload/20080504192158115.jpg" /></span>         <span style="left: 308px; top: 78px; width: 93px; height: 68px; z-index: 93;"><img src="/upload/20080504192159820.jpg" /></span>         <span style="left: 308px; top: 155px; width: 93px; height: 68px; z-index: 93;"><img src="/upload/20080504192201596.jpg" /></span>         <span style="left: 308px; top: 233px; width: 93px; height: 68px; z-index: 93;"><img src="/upload/20080504192201700.jpg" /></span>     </div>     <div id="caption" style="position: absolute; width: 440px; height: 60px; left: -220px; top: 175px;"><b>carefully</b> weight the options</div> </div>  </body></html>

注意:引入外部JavaScript文件后,需要刷新页面才能执行相关脚本。

作者最新文章