本文主要和大家分享原声js实现放大镜效果,主要以代码的方式和大家分享,希望能帮助到大家。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <script src="js/tools.js" type="text/javascript" charset="utf-8"></script> <script src="js/animate.js" type="text/javascript" charset="utf-8"></script> <style> *{margin: 0;padding:0} .mg{ height:577px; width:352px; margin-left: 100px; margin-top:100px; } ul{ height:68px; width:348px; display: flex; justify-content: space-between; position: absolute; left:0; top:0; } li{ list-style: none; float:left; border:2px solid white; } li img{ height:64px; width:50px; } li:hover{ border: 2px solid red; } .mg-1{ height:450px; width: 350px; margin-bottom: 10px; position:relative; } .mg-1>img{ height:450px; width:350px; } .ri{ height:540px; width:540px; position: absolute; left:372px; top:0; display: none; overflow: hidden; } .ri>img{ position: absolute; left:0; right:0; } .mask{ height:200px; width:200px; background: #FEDE4F; opacity:0.5; position: absolute; left:0; top:0; display: none; } .mg-1>p{ height:30px; width: 30px; position: absolute; bottom:0; right:0; } .mg-2{ height:68px; width:350px; margin-bottom:10px; position: relative; } i{ display: block; height:32px; width:22px; overflow: hidden; } .pre{ background: url(img/disabled-prev.png) no-repeat; position: absolute; left:0; top:50%; margin-top:-16px; cursor: pointer; } .next{ background: url(img/disabled-next.png) no-repeat; position: absolute; right:0; top:50%; margin-top:-16px; cursor: pointer; } .mid{ height:68px; width:290px; margin:0 auto; overflow: hidden; position: relative; } </style> </head> <body> <p class='mg'> <p class='mg-1'> @@##@@ <p class='mask'></p> <p class="ri">@@##@@</p> <p>@@##@@</p> </p> <p class="mg-2"> <i class='pre'></i> <p class='mid'> <ul class="list"> <li><a href="#"> @@##@@</a></li> <li><a href="#"> @@##@@</a></li> <li><a href="#"> @@##@@</a></li> <li><a href="#"> @@##@@</a></li> <li><a href="#"> @@##@@</a></li> <li><a href="#"> @@##@@</a></li> </ul> </p> <i class='next'></i> </p> </p> <script type="text/javascript"> window.onload=function(){ var imgdWidth=350/200*540; var imgdHeight=450/200*540; var imgx=document.getElementsByClassName('imgx')[0]; var imgd=document.getElementsByClassName('imgd')[0]; imgd.style.width=imgdWidth+'px'; imgd.style.height=imgdHeight+'px'; var mark=document.getElementsByClassName('mask')[0]; var mg1=document.getElementsByClassName('mg-1')[0]; var mg=document.getElementsByClassName('mg')[0]; var ri=document.getElementsByClassName('ri')[0]; mg1.onmouseenter=function(){ mark.style.display='block'; ri.style.display='block'; mg1.onmousemove=function(event){ var event=event||window.event; mark.style.left=event.pageX-100-mg.offsetLeft+'px'; mark.style.top=event.pageY-100-mg.offsetTop+'px'; if((event.pageX-100-mg.offsetLeft)<=0){ mark.style.left=0; }else if((event.pageX-100-mg.offsetLeft)>=150){ mark.style.left=150+'px'; } if((event.pageY-100-mg.offsetTop<=0)){ mark.style.top=0; }else if((event.pageY-100-mg.offsetTop>=250)){ mark.style.top=250+'px'; } imgd.style.left=-parseInt(mark.style.left)*540/200+'px'; imgd.style.top=-parseInt(mark.style.top)*540/200+'px'; } } mg1.onmouseleave=function(){ mark.style.display='none'; ri.style.display='none'; } var list=document.getElementsByClassName('list')[0]; var imgs=list.getElementsByTagName('img'); for(let i=0;i@@##@@ </body> </html>
相关推荐:
以上就是原声js实现放大镜效果的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号