jq-demo-放大镜
2024-10-07 18:48:55
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title> <style>
#smallImg {
position: absolute;
left: 50px;
top: 100px;
}
#smallImg, #smallImg img {
width: 200px;
height: 200px;
}
#smallArea {
display: none;
width: 50px; height: 50px; background: rgba(200, 222,111, 0.3);
position: absolute; left: 50px; top: 0;
} #bigArea {
display: none; overflow: hidden;
width: 300px; height: 300px; background: rgba(200,111,222,0.3);
position: absolute; left: 300px; top: 100px;
}
#bigImg {
width: 800px; height: 800px;
position: absolute; left: 0; top: 0;
} </style> <script type="text/javascript" src="js/jquery-1.12.3.js" ></script>
<script>
$(function(){ //等比公式
//小图width/大图width == 小区域width/大区域width
$("#smallArea").width( $("#smallImg").width() * $("#bigArea").width() / $("#bigImg").width() );
$("#smallArea").height( $("#smallImg").height() * $("#bigArea").height() / $("#bigImg").height() ); //放大系数
var scale = $("#bigImg").width() / $("#smallImg").width(); //在小图中移动
$("#smallImg").mousemove(function(e){
$("#smallArea").show(); //显示小区域
$("#bigArea").show(); //显示大区域 var x = e.pageX - $("#smallImg").offset().left - $("#smallArea").width()/2;
var y = e.pageY - $("#smallImg").offset().top - $("#smallArea").height()/2; //控制不超出左右边界
if (x < 0){
x = 0;
}
else if (x > $("#smallImg").width()-$("#smallArea").width()){
x = $("#smallImg").width()-$("#smallArea").width();
}
//控制不超出上下边界
if (y < 0){
y = 0
}
else if (y > $("#smallImg").height()-$("#smallArea").height()) {
y = $("#smallImg").height()-$("#smallArea").height();
} //小区域移动
$("#smallArea").css({left:x, top:y}); //大图移动
$("#bigImg").css({left: -scale*x,top: -scale*y});
}) //移除小图
$("#smallImg").mouseleave(function(){
$("#smallArea").hide(); //隐藏小区域
$("#bigArea").hide(); //隐藏大区域
})
})
</script>
</head>
<body>
<div id="smallImg">
<img src="data:images/星际穿越.jpg" />
<div id="smallArea"></div>
</div>
<div id="bigArea">
<img id="bigImg" src="data:images/星际穿越.jpg" />
</div>
</body>
</html>
最新文章
- 总结30个CSS3选择器
- Intro.js 网站演示
- 初学Memcached安装及使用(CentOS7)
- CentOS install GCC-4.8.5
- Symfony2创建基于域名的路由(原创翻译)
- [CLR via C#]10. 属性
- Codeforces 498C Array and Operations(最大流)
- 关于UIView需要看的一些官方文档
- pat 1055 区间前k个
- 简单易懂的命名空间及use的使用
- BearSkill实用方法之UITextField限制输入的字符数量
- SilverLight 页面后台方法XX.xaml.cs 创建JS,调用JS ,弹出提示框
- 玩转python之字符串逐个字符或逐词反转
- AspNetCore - MVC实战系列(一)
- 【操作教程】SequoiaDB分布式存储教程
- linkin大话面向对象--继承
- sqlachemy 获取新创建对象的id,flush与commit
- python之tkinter使用-简单对话框
- Codeforces Round #412 C. Success Rate
- java的Timer和TimerTask