美文网首页
淘宝放大镜

淘宝放大镜

作者: 一枚奋斗青年 | 来源:发表于2016-08-13 15:43 被阅读36次

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
{
padding: 0;
margin: 0;
}
li{
list-style: none;
}
#wrap{
position: relative;
/
overflow: hidden;/
}
#min{
float: left;
width: 400px;
height: 500px;
}
#viewBox{
position: absolute;
left: 0;
top: 0;
width: 400px;
height: 400px;
border: solid 1px black;
box-sizing: border-box;
overflow: hidden;
}
#viewBox li img{
width: 400px;
height: 400px;
}
#photo{
position: absolute;
left: 0;
top: 400px;
height: 100px;
}
#photo li{
width: 80px;
height: 80px;
box-sizing: border-box;
margin: 10px;
float: left;
}
#photo li img{
width: 100%;
height: 100%;
}
#max{
position: absolute;
left: 450px;
width: 400px;
height: 400px;
overflow: hidden;
border: solid 1px black;
box-sizing: border-box;
float: left;
list-style: none;
display: none;
}
#max li{
position: absolute;
/
left: 0;/
/
top: 0;/
width: 800px;
height: 800px;
display: none;
}
#max li img{
/
position: absolute;*/
width: 800px;
height: 800px;
}
#slider{
position: absolute;
left: 0;
top: 0;
width: 200px;
height: 200px;
background: #CCCCCC;
opacity: 0.7;
display: none;
}
</style>
</head>
<body>
<div id="wrap">

<div id="min">
<ul id="viewBox">
<li><img src="img/Z.jpg" alt="" /></li>
<li><img src="img/Z1.jpg" alt="" /></li>
<li><img src="img/Z3.jpg" alt="" /></li>
<li><img src="img/Z4.jpg" alt="" /></li>
<div id="slider"></div>
</ul>
<ul id="photo">
<li style="border: solid 1px red;"><img src="img/Z.jpg" alt="" /></li>
<li><img src="img/Z1.jpg" alt="" /></li>
<li><img src="img/Z3.jpg" alt="" /></li>
<li><img src="img/Z4.jpg" alt="" /></li>
</ul>
</div>

<ul id="max">
<li><img src="img/Z.jpg" alt="" /></li>
<li><img src="img/Z1.jpg" alt="" /></li>
<li><img src="img/Z3.jpg" alt="" /></li>
<li><img src="img/Z4.jpg" alt="" /></li>
</ul>
</div>
</body>
<script type="text/javascript">
var viewBox = document.getElementById("viewBox");
var viewBoxLi = viewBox.getElementsByTagName('li');
var photo = document.getElementById("photo");
var photoLi = photo.getElementsByTagName('li');
var slider = document.getElementById("slider");
var max = document.getElementById("max");
var maxLi = max.getElementsByTagName('li');
var num = 0;
maxLi[0].style.display = 'block';
//tab切换
for(var i = 0; i < photoLi.length; i ++){
photoLi[i].index = i;
photoLi[i].onmouseover = function(){
for(var i = 0; i < viewBoxLi.length; i ++){
viewBoxLi[i].style.display = 'none';
maxLi[i].style.display = 'none';
photoLi[i].style.border = '';
}
num = this.index;
viewBoxLi[this.index].style.display = 'block';
photoLi[this.index].style.border = 'solid 1px red';
maxLi[this.index].style.display = 'block';
}
}
//放大镜
viewBox.onmousemove = function(ev){
// console.log(num);
var e = ev || window.event;
slider.style.display = 'block';
max.style.display = 'block';
//slider随着鼠标的移动而移动
var x = e.clientX - slider.offsetWidth / 2 - viewBox.offsetLeft;
var y = e.clientY - slider.offsetHeight / 2 - viewBox.offsetTop;
if(x < 0){
x = 0;
}else if(x > viewBox.offsetWidth - slider.offsetWidth){
x = viewBox.offsetWidth - slider.offsetWidth;
}
if(y < 0){
y = 0;
}else if(y > viewBox.offsetHeight - slider.offsetHeight){
y = viewBox.offsetHeight - slider.offsetHeight;
}
slider.style.left = x + 'px';
slider.style.top = y + 'px';
//大图随着slider位置的改变而显示不同的区域
var scaleX = x / (viewBox.offsetWidth - slider.offsetWidth);
var scaleY = y / (viewBox.offsetHeight - slider.offsetHeight);
console.log(maxLi[num].offsetWidth);
maxLi[num].style.left = - scaleX * (maxLi[num].offsetWidth - max.offsetWidth) + 'px';
maxLi[num].style.top = - scaleY * (maxLi[num].offsetWidth - max.offsetHeight) + 'px';
}
viewBox.onmouseleave = function(){
slider.style.display = "none";
max.style.display = "none";

    }


</script>

</html>

相关文章

  • 淘宝放大镜

    {padding: 0;margin: 0;}li{list-style...

  • 淘宝放大镜代码实现

    什么是淘宝放大镜 如图 实现思路 左边一个小图,右边一个原图,当鼠标在小图上移动的时候,通过更改left和top的...

  • 淘宝京东图片放大镜

    获取淘宝放大图的两种方法: 拿到小图链接:https://img.alicdn.com/imgextra/i4/3...

  • 模拟淘宝放大镜简易效果

    效果预览图 js计算比例 基础样式设置

  • js仿照淘宝的放大镜功能

    HTML代码 CSS代码 JS代码 因为是按照2两倍的倍数进行放大的,所以放大镜的高度和外面盒子的1/2,外面的盒...

  • iOS放大镜效果实现-ASMagnifierManger

    ASMagnifierManger 放大镜效果。可更改放大倍数和放大镜大小 特点介绍 放大镜效果 放大镜形状自定义...

  • 放大镜

    放大镜:淘宝等电商页面应用广泛...思路:先让move块和bimg块隐藏,当鼠标移动到box上时,使move块和b...

  • 2018-12-02

    放大镜 HTML 放大镜 ...

  • 用js实现图片放大镜效果

    很多电商网站比如:京东、天猫、淘宝都有放大镜效果,每当看到心仪的物品时,鼠标移入图片时,便呈现出放大的效果。在没有...

  • 放大镜

    一、多种图片放大镜 二、单张图片放大镜

网友评论

      本文标题:淘宝放大镜

      本文链接:https://www.haomeiwen.com/subject/brzesttx.html