一个简单的JavaScript放大镜
来源:互联网 发布:php开发实例大全怎么样 编辑:程序博客网 时间:2024/06/08 05:36
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<styletype="text/css">
* {
margin: 0;
padding: 0;
}
img {
vertical-align: top;
}
.fdj {
width: 350px;
height: 350px;
position: relative;
margin: 0pxauto;
border: 1pxsolidgainsboro;
}
.small {
position: relative;
}
.small img {
width: 350px;
}
.mask {
width: 100px;
height: 100px;
background: rgba(255,255,0,0.4);
position: absolute;
left: 0;
top: 0;
cursor: move;
display: none;
}
.big {
position: absolute;
top: 0;
left: -500px;
width: 500px;
height: 500px;
border: 1pxsolidgainsboro;
overflow: hidden;
display: none;
}
.big img {
position: absolute;
left: 0;
top: 0;
}
</style>
</head>
<a>文章来源于网络 如有侵权请联系删除 </a><body>
<div class="fdj">
<div class="small">
<img src="http://cdn.attach.qdfuns.com/notes/pics/201702/08/162503mw0fawb5b02va22i.jpg" />
<div class="mask"></div>
</div>
<div class="big">
<img src="http://cdn.attach.qdfuns.com/notes/pics/201702/08/162503mw0fawb5b02va22i.jpg" />
</div>
</div>
</body>
<scripttype="text/javascript">
var fdj =document.querySelector('.fdj')// 获得最大的盒子
var small =document.querySelector('.small');//获取小图片盒子
var big =document.querySelector('.big');//获取大图片盒子
var bigs =big.children[0]//大图片
var smalls =small.children[0]//小图片
var mask =small.children[1];//遮罩
//鼠标移入小图片盒子
small.onmouseover =function() {
//鼠标移入图片盒子将遮罩与大图片显示
mask.style.display ='block';
big.style.display =' block';
};
//鼠标移出小图片盒子
small.onmouseout =function() {
//鼠标移出小图片盒子将遮罩与大图片隐藏
mask.style.display ='none';
big.style.display ='none';
};
var x =0;
var y =0;
//鼠标在小图片上移动时
small.onmousemove =function(ev) {
var ev =event ||window.event;
//让鼠标在遮罩正中
//鼠标X坐标与Y坐标
x = ev.clientX -this.offsetParent.offsetLeft -mask.offsetWidth /2;
y = ev.clientY -this.offsetParent.offsetTop -mask.offsetHeight /2;
//将遮罩限制在小图片盒子中
if (x <0) {
x = 0;
} else if (x >small.offsetWidth -mask.offsetWidth) {
x = small.offsetWidth -mask.offsetWidth;
}
if (y <0) {
y = 0;
} else if (y >small.offsetHeight -mask.offsetHeight) {
y = small.offsetHeight -mask.offsetHeight
}
mask.style.left =x +'px';
mask.style.top =y +'px';
//大图与小图的比例
/*var scalX = bigs.offsetWidth/small.offsetWidth;
var scalY = bigs.offsetHeight/small.offsetHeight;*/
var scalX =x / (small.offsetWidth -mask.offsetWidth);
var scalY =y / (small.offsetHeight -mask.offsetHeight);
bigs.style.left = -(x *scalX) +'px';
bigs.style.top = -(y *scalY) +'px';
};
</script>
</html>
阅读全文
0 0
- 一个简单的JavaScript放大镜
- 一个简单的放大镜
- 一个简单的放大镜功能
- javascript放大镜效果的简单实现
- JavaScript学习之简单的放大镜
- Javascript放大镜的特效
- 简单的放大镜效果
- 用js做一个简单的电商放大镜效果
- Javascript仿京东放大镜的效果
- android 放大镜的简单实现
- javascript放大镜
- 用JS做一个简单的电商产品放大镜功能
- JavaScript实现的放大镜放大图片效果
- Javascript实现图片的放大镜功能效果
- JavaScript实现的网页放大镜效果
- 简单的js实现放大镜效果
- 关于一个放大镜效果的代码解释
- 一个iOS下的放大镜例子
- (6/10)Servlet入门
- 单例模式之线程安全
- 2.下拉刷新 用第三方插件XListView怎么弄
- 使用Intellij IDEA通过Maven+Hibernate+Spring Mvc构建Java后台
- JDK并发包线程池(三)自定义线程池
- 一个简单的JavaScript放大镜
- Eclipselink多租户的实现
- 实验吧——WriteUp&&涨姿势(5)
- maven常用命令介绍
- hp-ux 下的apa配置方法
- Zookeeper实例原生API--异步获取节点数据
- Pycharm中不支持中文编码的解决方案。Pycharm中文报错。
- 学习之路漫长
- 各种距离