js实现放大镜特效

发布时间 - 2026-01-11 01:09:26    点击率:

本文实例为大家分享了js放大镜特效的实现代码,供大家参考,具体内容如下

<!doctype html>
<html lang="en">
<head>
 <meta charset="UTF-8" />
 <title>Document</title>
 <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
 <style type="text/css">
  *{
   margin: 0;
   padding: 0;
  }
  .imgBox{
   width: 1000px;
   margin: auto;
   text-align: center;
  }
  .small,.large{
   font-size: 0;
   outline: 1px solid burlywood;
   margin: auto;
  }
  .small{
   margin: 20px auto;
  }
  .large{
   /*display: none;*/
  }
  .small,.small img,.large{
   width: 300px;
   height: 200px;
   overflow: hidden;
  }
  .large img{
   width: 900px;
   height: 600px;
  }
  .small,.large{
   position: relative;
  }
  .mark{
   opacity: 0.5;
   background-color: #DEB887;
   z-index: 55;
   width: 100px;
   height: 66.666666666px;
   display: none;
  }
  .mark,.large img{
   position: absolute;
   left: 0;
   top: 0;
  }
 </style>
</head>
<body>
 <div class="imgBox">
  <div class="small">
   <img src="img/img_14.jpg"/>
   <div class="mark"></div>
  </div>
  <div class="large">
   <img src="img/img_14.jpg"/>
  </div>
 </div>
 
 <script type="text/javascript">
  $(function(){
   var $small = $(".small"),
    $mark = $(".mark"),
    $large = $(".large");
   $small.on("mousemove",function(e){
// 在鼠标移到小图片中显示出mark
    $mark.css("display","block");
//    $large.css("display","block");
// 获取mark的一半宽度高度
    var hw = $mark.width()/2,
     hh = $mark.height()/2;
// 获取鼠标在当前图片中的位置
    var lf = e.pageX-$small.offset().left-hw,
     tt = e.pageY-$small.offset().top-hh;
// 获取mark的想x,y轴偏移率
    var ix = lf/$small.width(),
     iy = tt/$small.height();
// 获取边缘线
    var lb = 1-hw/$small.width()*2,
     tb = 1-hh/$small.height()*2;
// 计算和边缘的关系
    var ix = ix<lb?ix>0?ix:0:lb,
     iy = iy<tb?iy>0?iy:0:tb;
// 进行大图和小图百分比计算
    $mark.css("left",ix*100+"%").css("top",iy*100+"%");
    $large.children().css("left",-ix*300+"%").css("top",-iy*300+"%");
   }).on("mouseout",function(){
// 鼠标移出后mark隐藏
    $mark.css("display","none");
//    $large.css("display","none");
   })
  })
 </script>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# js  # 放大镜  # javaScript实现放大镜特效  # JavaScript仿京东放大镜特效  # js实现简单放大镜特效  # 基于javascript实现放大镜特效  # JS实现电商商品展示放大镜特效  # 原生JS实现的放大镜特效示例【测试可用】  # 原生js简单实现放大镜特效  # Javascript实例项目放大镜特效的实现流程  # 鼠标  # 小图  # 边缘  # 大家分享  # 移到  # 片中  # 具体内容  # 大家多多  # 移出  # margin  # css  # padding  # width  # imgBox  # text  # jquery  # min  # type  # style  # size 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: html文件怎么打开证书错误_https协议的html打开提示不安全【指南】  python中快速进行多个字符替换的方法小结  Laravel如何与Docker(Sail)协同开发?(环境搭建教程)  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  香港服务器选型指南:免备案配置与高效建站方案解析  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  如何续费美橙建站之星域名及服务?  如何用AI一键生成爆款短视频文案?小红书AI文案写作指令【教程】  用yum安装MySQLdb模块的步骤方法  使用Dockerfile构建java web环境  弹幕视频网站制作教程下载,弹幕视频网站是什么意思?  JavaScript Ajax实现异步通信  轻松掌握MySQL函数中的last_insert_id()  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  动图在线制作网站有哪些,滑动动图图集怎么做?  Laravel如何处理异常和错误?(Handler示例)  javascript如何操作浏览器历史记录_怎样实现无刷新导航  JS经典正则表达式笔试题汇总  哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?  Laravel中的withCount方法怎么高效统计关联模型数量  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  js代码实现下拉菜单【推荐】  Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】  Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤  HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】  详解Huffman编码算法之Java实现  Windows10如何更改计算机工作组_Win10系统属性修改Workgroup  php json中文编码为null的解决办法  Laravel事件监听器怎么写_Laravel Event和Listener使用教程  Laravel如何获取当前登录用户信息_Laravel Auth门面使用与Session用户读取【技巧】  Laravel如何实现本地化和多语言支持?(i18n教程)  如何将凡科建站内容保存为本地文件?  Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录  HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】  如何在搬瓦工VPS快速搭建网站?  为什么php本地部署后css不生效_静态资源加载失败修复技巧【技巧】  西安专业网站制作公司有哪些,陕西省建行官方网站?  JS中对数组元素进行增删改移的方法总结  Python正则表达式进阶教程_复杂匹配与分组替换解析  Swift中swift中的switch 语句  如何在IIS中新建站点并配置端口与物理路径?  如何快速搭建自助建站会员专属系统?  jQuery中的100个技巧汇总  如何在IIS服务器上快速部署高效网站?  香港服务器WordPress建站指南:SEO优化与高效部署策略  如何在局域网内绑定自建网站域名?  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】