帮助中心
获取牛币
联系我们
关于我们
版权声明
素材牛首页
微博登录
QQ登录
微信扫码登录
注册
登录
新浪微博
QQ登陆
微信登录
热门搜索:
小程序
支付
Java
后台模板
上传
商城模板
jQuery
手机
Thinkphp
微信
Vue.js
首 页
网页特效
整站源码
PHP实例
网站模版
工具箱
常用代码
论坛
游戏源码
资源分享
当前位置:
首页
»
精选常用代码
» JS放大镜
JS放大镜
浏览:1477次
-
评论:1次
-
发布时间:2017-11-30
Html
Css
Js
#div1 { width:256px; height:183px; padding:5px; border:1px solid #ccc; position:relative; } #div1 .small_pic { width:256px; height:183px; background:#eee; position:relative; } #div1 .small_pic img { width:256px; } #div1 .float_layer { width:50px; height:50px; border:1px solid #000; background:#fff; filter:alpha(opacity:30); opacity:0.3; position:absolute; top:0; left:0; display:none; } #div1 .mark { width:100%; height:100%; position:absolute; z-index:2; left:0; top:0; background:red; filter:alpha(opacity:0); opacity:0; } #div1 .big_pic { position:absolute; top:-1px; left:268px; width:300px; height:300px; overflow:hidden; border:2px solid #ccc; display:none; } #div1 .big_pic img { position:absolute; top:-30px; left:-80px; }
window.onload = function() { var oDiv = document.getElementById("div1"); var oMark = document.getElementsByClassName("mark")[0]; var oFloat = document.getElementsByClassName("float_layer")[0]; var oBig = document.getElementsByClassName("big_pic")[0]; var oSmall = document.getElementsByClassName("small_pic")[0]; var oImg = oBig.getElementsByTagName("img")[0]; //给遮罩层添加鼠标移入事件 oMark.onmouseover = function() { oFloat.style.display = 'block'; oBig.style.display = 'block'; }; //给遮罩层添加鼠标移出事件 oMark.onmouseout = function() { oFloat.style.display = "none"; oBig.style.display = "none"; }; //给遮罩层添加鼠标移动事件 oMark.onmousemove = function(evt) { var e = evt || window.event; document.title = e.clientX - oDiv.offsetLeft - oSmall.offsetLeft; var l = e.clientX - oDiv.offsetLeft - oSmall.offsetLeft - oFloat.offsetWidth / 2; var t = e.clientY - oDiv.offsetTop - oSmall.offsetTop - oFloat.offsetHeight / 2; if (l < 0) { l = 0; } else if (l > oMark.offsetWidth - oFloat.offsetWidth) { l = oMark.offsetWidth - oFloat.offsetWidth; } if (t < 0) { t = 0; } else if (t > oMark.offsetHeight - oFloat.offsetHeight) { t = oMark.offsetHeight - oFloat.offsetHeight; } oFloat.style.left = l + 'px'; oFloat.style.top = t + 'px'; //小块活动的距离 (移动比例)大图显示比例 var percentX = l / (oMark.offsetWidth - oFloat.offsetWidth); var percentY = t / (oMark.offsetHeight - oFloat.offsetHeight); //大图的left值 = 移动比例 * (大图的宽度 - 大图所在Div的宽度)大图所能移动的距离 oImg.style.left = -percentX * (oImg.offsetWidth - oBig.offsetWidth) + 'px'; oImg.style.top = -percentY * (oImg.offsetHeight - oBig.offsetHeight) + 'px'; }; };
↑上面代码改变,会自动显示代码结果
jQuery调用版本:
1.11.3
<!doctype html><html><head><meta charset="utf-8"><title>JS放大镜-www.sucainiu.com</title><script src="https://libs.baidu.com/jquery/1.11.3/jquery.min.js"></script><style>
</style></head><body>
<script>
</script>
</body></html>
立即下载
收藏
积分说明:注册即送10牛币,每日签到可获得5牛币,成为VIP会员可永久免牛币下载!
充值积分
充值会员
更多说明»
代码描述:简洁好用的放大镜
比较标准的放大镜,带有边框,可以根据自己的需要调整
Web开发 项目 前后端分离 接口域名地址 优化
jQuery Css步骤进度条
讨论这个常用代码(1)
回答他人问题或分享心得会奖励牛币
Lv10 CTO
华***n
2017年12月11日
正好需要,感谢分享
回复
文明上网,理性发言! 😉 阿里云幸运券,
戳我领取
发表评论
提交回复
我的积分余额:
0
已下载次数:
1477
所需牛币:
5
开始下载
牛币获取:
签到、评论、充值
» 在线充值
(10牛币=1元)
成为VIP可永久免积分下载全部常用代码
» 查看详情
VIP
客服
签到
充值