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


相关推荐: 如何在VPS电脑上快速搭建网站?  微信h5制作网站有哪些,免费微信H5页面制作工具?  html5如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】  如何在云指建站中生成FTP站点?  Laravel用户密码怎么加密_Laravel Hash门面使用教程  Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧  Android Socket接口实现即时通讯实例代码  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  Java Adapter 适配器模式(类适配器,对象适配器)优缺点对比  用yum安装MySQLdb模块的步骤方法  canvas 画布在主流浏览器中的尺寸限制详细介绍  Windows10如何更改计算机工作组_Win10系统属性修改Workgroup  青岛网站建设如何选择本地服务器?  Laravel如何使用Facades(门面)及其工作原理_Laravel门面模式与底层机制  laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程  Laravel如何为API编写文档_Laravel API文档生成与维护方法  大同网页,大同瑞慈医院官网?  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  HTML5空格和margin有啥区别_空格与外边距的使用场景【说明】  Linux系统命令中tree命令详解  Laravel怎么使用Markdown渲染文档_Laravel将Markdown内容转HTML页面展示【实战】  创业网站制作流程,创业网站可靠吗?  如何快速搭建高效香港服务器网站?  清除minerd进程的简单方法  iOS发送验证码倒计时应用  php 三元运算符实例详细介绍  JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)  Laravel如何实现邮箱地址验证功能_Laravel邮件验证流程与配置  企业网站制作这些问题要关注  高性能网站服务器配置指南:安全稳定与高效建站核心方案  HTML 中如何正确使用模板变量为元素的 name 属性赋值  微信小程序 require机制详解及实例代码  Laravel观察者模式如何使用_Laravel Model Observer配置  黑客如何利用漏洞与弱口令入侵网站服务器?  javascript中的数组方法有哪些_如何利用数组方法简化数据处理  Laravel怎么防止CSRF攻击_Laravel CSRF保护中间件原理与实践  LinuxShell函数封装方法_脚本复用设计思路【教程】  如何用5美元大硬盘VPS安全高效搭建个人网站?  常州企业网站制作公司,全国继续教育网怎么登录?  Laravel如何与Inertia.js和Vue/React构建现代单页应用  如何快速搭建高效简练网站?  Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法  如何在阿里云高效完成企业建站全流程?  Laravel如何配置和使用缓存?(Redis代码示例)  EditPlus中的正则表达式实战(6)  如何在阿里云通过域名搭建网站?  Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】  Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】  小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像  如何在宝塔面板中创建新站点?