全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

原生js仿淘宝网商品放大镜效果

效果图:(实例图片由自己添加)

代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>仿淘宝放大镜特效</title>
 <style type="text/css">
 *{margin: 0;padding: 0;}
 #demo{width:350px;height:350px;border: 1px solid #000;position:relative;margin:100px;}
 #smil_box{width: 350px;height: 350px;position:relative;}
 #mask{width:175px;height: 175px;background:rgba(255,255,0,0.4);position:absolute;top:0;left:0;display:none;cursor:move;}
 #big_box{width: 400px;height: 400px;position:absolute;top:0;left:360px;border: 1px solid #000;overflow:hidden;display:none;}
 #big_box img{position:absolute;top:0;left:0;}
 </style>
</head>
<body>
 <div id="demo">
 <div id="smil_box">
 <img src="http://www.qdfuns.com/misc.php?mod=attach&genre=editor&aid=193662baf63738c68b594f3ec920769f" height="350" width="350" alt="">
 <div id="mask"></div>
 </div>
 <div id="big_box">
 <img src="http://www.qdfuns.com/misc.php?mod=attach&genre=editor&aid=3e8b3554eb90dd13fa0f82465ac6d382" height="800" width="800" alt="" id="big_img">
 </div>
 </div>
</body>
<script type="text/javascript">
 (function(window){
 function $(id){
 return document.getElementById(id);
 };
 // 获取对象
 var demo = $("demo"),smilBox = $("smil_box"),mask = $("mask"),bigImg = $("big_img"),bigBox = $("big_box");
 // smilBox的hover事件
 smilBox.onmouseover = function(){
 mask.style.display = "block";
 bigBox.style.display = "block";
 };
 smilBox.onmouseout = function(){
 mask.style.display = "none";
 bigBox.style.display = "none";
 };
 // 鼠标移动事件
 smilBox.onmousemove = function(event){
 var event = event || window.event;
 // 获取鼠标在页面上的坐标
 var pageX = event.pageX || event.clientX + document.documentElement.scrollLeft;
 var pageY = event.pageY || event.clientY + document.documentElement.scrollTop;
 // mask的位置坐标
 var boxX = pageX - demo.offsetLeft;
 var boxY = pageY - demo.offsetTop;
 var maskX = boxX - mask.offsetWidth / 2;
 var maskY = boxY - mask.offsetHeight / 2;
 // 限制mask的移动范围
 if( maskX < 0 ){
 maskX = 0;
 };
 if( maskX > smilBox.offsetWidth - mask.offsetWidth){
 maskX = smilBox.offsetWidth - mask.offsetWidth;
 };
 if( maskY < 0 ){
 maskY = 0;
 };
 if( maskY > smilBox.offsetHeight - mask.offsetHeight){
 maskY = smilBox.offsetHeight - mask.offsetHeight;
 };
 // 黄色遮罩层的位置坐标
 mask.style.top = maskY + "px";
 mask.style.left = maskX + "px";
 // 大图片移动的比例
 var prop = ( bigImg.offsetWidth - bigBox.offsetWidth ) / (smilBox.offsetWidth - mask.offsetWidth);
 // 大图片的坐标
 var bigImgX = prop * maskX;
 var bigImgY = prop * maskY;
 bigImg.style.top = -bigImgY + "px";
 bigImg.style.left = -bigImgX + "px";
 }
 })(window)
</script>
</html>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!


# 商品放大镜  # 商品放大镜效果  # js仿淘宝放大镜效果  # js实现淘宝浏览商品放大镜功能  # js面向对象之实现淘宝放大镜  # 原生js实现淘宝放大镜效果  # 纯js仿淘宝京东商品放大镜功能  # 用js制作淘宝放大镜效果  # javascript淘宝主图放大镜功能  # js放大镜放大图片效果  # 用js实现放大镜的效果的简单实例  # JavaScript仿淘宝放大镜效果  # 鼠标  # 大图片  # 淘宝  # smil_box  # mask  # background  # rgba  # solid  # border  # height  # relative  # position  # big_box  # overflow  # body  # img  # hidden  # top  # absolute  # left 


相关文章: 建站之星安装提示数据库无法连接如何解决?  如何用低价快速搭建高质量网站?  网站好制作吗知乎,网站开发好学吗?有什么技巧?  北京网站制作网页,网站升级改版需要多久?  临沂网站制作公司有哪些,临沂第四中学官网?  建站之星CMS建站配置指南:模板选择与SEO优化技巧  c++怎么实现高并发下的无锁队列_c++ std::atomic原子变量与CAS操作【详解】  贸易公司网站制作流程,出口贸易网站设计怎么做?  如何高效完成自助建站业务培训?  如何通过虚拟主机快速完成网站搭建?  c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】  javascript基本数据类型及类型检测常用方法小结  如何确认建站备案号应放置的具体位置?  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  Python多线程使用规范_线程安全解析【教程】  建站主机选购指南:核心配置优化与品牌推荐方案  宝塔建站无法访问?如何排查配置与端口问题?  学校免费自助建站系统:智能生成+拖拽设计+多端适配  高端云建站费用究竟需要多少预算?  再谈Python中的字符串与字符编码(推荐)  如何通过万网虚拟主机快速搭建网站?  详解jQuery中基本的动画方法  股票网站制作软件,网上股票怎么开户?  C#怎么创建控制台应用 C# Console App项目创建方法  洛阳网站制作公司有哪些,洛阳的招聘网站都有哪些?  如何用狗爹虚拟主机快速搭建网站?  香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化  盐城做公司网站,江苏电子版退休证办理流程?  北京的网站制作公司有哪些,哪个视频网站最好?  如何通过IIS搭建网站并配置访问权限?  建站168自助建站系统:快速模板定制与SEO优化指南  建站之星如何防范黑客攻击与数据泄露?  网站制作需要会哪些技术,建立一个网站要花费多少?  商务网站制作工程师,从哪几个方面把握电子商务网站主页和页面的特色设计?  头像制作网站在线制作软件,dw网页背景图像怎么设置?  北京专业网站制作设计师招聘,北京白云观官方网站?  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  官网自助建站系统:SEO优化+多语言支持,快速搭建专业网站  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  宝塔建站助手安装配置与建站模板使用全流程解析  常州自助建站:操作简便模板丰富,企业个人快速搭建网站  建站VPS能否同时实现高效与安全翻墙?  怎么将XML数据可视化 D3.js加载XML  XML的“混合内容”是什么 怎么用DTD或XSD定义  网站制作模板下载什么软件,ppt模板免费下载网站?  建站上传速度慢?如何优化加速网站加载效率?  免费制作海报的网站,哪位做平面的朋友告诉我用什么软件做海报比较好?ps还是cd还是ai这几个软件我都会些我是做网页的?  建站之星云端配置指南:模板选择与SEO优化一键生成  视频网站app制作软件,有什么好的视频聊天网站或者软件? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。