js实现放大镜特效


Posted in Javascript onMay 18, 2017

本文实例为大家分享了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>

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

Javascript 相关文章推荐
ASP.NET jQuery 实例6 (实现CheckBoxList成员全选或全取消)
Jan 13 Javascript
改进版通过Json对象实现深复制的方法
Oct 24 Javascript
jquery向上向下取整适合分页查询
Sep 06 Javascript
jQuery中:checked选择器用法实例
Jan 04 Javascript
jquery判断对象是否为空并遍历对象的简单实例
Jul 26 Javascript
利用JQuery直接调用asp.net后台的简单方法
Oct 27 Javascript
AngularJS中的Promise详细介绍及实例代码
Dec 13 Javascript
javascript基本常用排序算法解析
Sep 27 Javascript
学习node.js 断言的使用详解
Mar 18 Javascript
js getBoundingClientRect使用方法详解
Jul 17 Javascript
vue 监听 Treeselect 选择项的改变操作
Aug 31 Javascript
vue 授权获取微信openId操作
Nov 13 Javascript
vue v-on监听事件详解
May 17 #Javascript
vue v-model表单控件绑定详解
May 17 #Javascript
Bootstrap 表单验证formValidation 实现表单动态验证功能
May 17 #Javascript
JavaScript中offsetWidth的bug及解决方法
May 17 #Javascript
Bootstrap 表单验证formValidation 实现远程验证功能
May 17 #Javascript
基于vue+ bootstrap实现图片上传图片展示功能
May 17 #Javascript
JavaScript运动框架 多物体任意值运动(三)
May 17 #Javascript
You might like
全国FM电台频率大全 - 16 河南省
2020/03/11 无线电
thinkphp中memcache的用法实例
2014/11/29 PHP
php获取本周星期一具体日期的方法
2015/04/20 PHP
php根据一个给定范围和步进生成数组的方法
2015/06/19 PHP
php+ajax实现无刷新分页
2015/11/18 PHP
PHP实现的多进程控制demo示例
2019/07/22 PHP
php+jQuery ajax实现的实时刷新显示数据功能示例
2019/09/12 PHP
php连接sftp的作用以及实例代码
2019/09/23 PHP
javascript css float属性的特殊写法
2008/11/13 Javascript
js 分页全选或反选标识实现代码
2011/08/09 Javascript
js实现运动logo图片效果及运动元素对象sportBox使用方法
2012/12/25 Javascript
用于deeplink的js方法(判断手机是否安装app)
2014/04/02 Javascript
js 右侧浮动层效果实现代码(跟随滚动)
2015/11/22 Javascript
详解JavaScript基于面向对象之继承实例
2015/12/16 Javascript
深入理解angularjs过滤器
2016/05/25 Javascript
js拖拽功能实现代码解析
2016/11/28 Javascript
JavaScript运动框架 解决防抖动问题、悬浮对联(二)
2017/05/17 Javascript
微信小程序页面开发注意事项整理
2017/05/18 Javascript
JavaScript实现微信红包算法及问题解决方法
2018/04/26 Javascript
详解微信小程序图片地扯转base64解决方案
2019/08/18 Javascript
Javascript实现鼠标点击冒泡特效
2019/12/24 Javascript
Vue项目结合Vue-layer实现弹框式编辑功能(实例代码)
2020/03/11 Javascript
[06:36]吞吞映像top1
2014/06/20 DOTA
[01:08:09]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#1Liquid VS Alliance第二局
2016/03/02 DOTA
wxPython窗口中文乱码解决方法
2014/10/11 Python
Python使用scrapy抓取网站sitemap信息的方法
2015/04/08 Python
tensorflow使用CNN分析mnist手写体数字数据集
2020/06/17 Python
浅谈tensorflow使用张量时的一些注意点tf.concat,tf.reshape,tf.stack
2020/06/23 Python
移动端Web页面的CSS3 flex布局快速上手指南
2016/05/31 HTML / CSS
党的群众路线教育实践活动学习心得体会
2014/03/03 职场文书
创建卫生先进单位实施方案
2014/03/10 职场文书
重大事项社会稳定风险评估方案
2014/06/15 职场文书
客户经理岗位职责大全
2015/04/09 职场文书
上班迟到检讨书范文
2015/05/06 职场文书
酒店员工手册范本
2015/05/14 职场文书
css height属性中的calc方法详解
2021/06/03 HTML / CSS