购物查看放大

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了购物查看放大相关的知识,希望对你有一定的参考价值。

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title></title>

<style type="text/css">

*{margin: 0;padding: 0;}

#box{width: 350px;height: 350px;border: 1px solid #ccc;cursor: pointer;position: relative;float: left;}

#smallbox{width: 180px;height: 180px;background: #ccc;opacity: 0.4;display: none;position: absolute;}

#bigbox{width: 400px;height: 400px;border: 1px solid #ddd;float: left;margin-left: 30px;display: none;position: relative;overflow: hidden;}

img{position: absolute;}

</style>

</head>

<body>

<div id="box"><img src="img/min.jpg"/><div id="smallbox"></div></div>

<div id="bigbox"><img src="img/max.jpg" id="img"/></div>

</body>

</html>

<script type="text/javascript">

var box=document.getElementById("box");

var smallbox=document.getElementById("smallbox");

var bigbox=document.getElementById("bigbox");

var img=document.getElementById("img");

box.onmouseenter=function(ev){

var ev1=event||window.event;

smallbox.style.display="block";

bigbox.style.display="block";

box.onmousemove=function(ev){

var ev2=event||window.event;

smallbox.style.left=ev2.clientX-box.offsetLeft-smallbox.clientWidth/2+"px";

smallbox.style.top=ev2.clientY-box.offsetTop-smallbox.clientHeight/2+"px";

if(smallbox.offsetLeft<0){

smallbox.style.left=0;

}

if(smallbox.offsetLeft>(box.clientWidth-smallbox.offsetWidth)){

smallbox.style.left=box.clientWidth-smallbox.offsetWidth+"px";

}

if(smallbox.offsetTop<0){

smallbox.style.top=0;

}

if(smallbox.offsetTop>(box.clientHeight-smallbox.offsetHeight)){

smallbox.style.top=box.clientHeight-smallbox.offsetHeight+"px";

}

var sl=box.clientWidth-smallbox.offsetWidth;

var st=box.clientHeight-smallbox.offsetHeight;

var bl=img.offsetWidth-bigbox.clientWidth;

var bt=img.offsetHeight-bigbox.clientHeight;

img.style.left=-(smallbox.offsetLeft/sl)*bl+"px";

img.style.top=-(smallbox.offsetTop/st)*bt+"px";

}

}

box.onmouseleave=function(){

smallbox.style.display="none";

bigbox.style.display="none";

}

</script>

以上是关于购物查看放大的主要内容,如果未能解决你的问题,请参考以下文章

js用面向对象的方法编写放大镜

利用JS实现购物网站商品放大镜效果

前端特效-Javascript实现购物页面图片放大效果

购物网--放大镜

记录-JS简单实现购物车图片局部放大预览效果

Vue实现商品放大镜效果