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 相关文章推荐
jquery动画3.创建一个带遮罩效果的图片走廊
Aug 24 Javascript
jquery应该如何来设置改变按钮input的onclick事件
Dec 10 Javascript
JQuery设置文本框和密码框得到焦点时的样式
Aug 30 Javascript
Jquery实现自定义弹窗示例
Mar 12 Javascript
jQuery实现自定义右键菜单的树状菜单效果
Sep 02 Javascript
JS实现Fisheye效果动感放大菜单代码
Oct 21 Javascript
JS实现支持Ajax验证的表单插件
Mar 24 Javascript
BootStrapTable 单选及取值的实现方法
Jan 10 Javascript
QRCode.js:基于JQuery的生成二维码JS库的使用
Jun 23 jQuery
学习Vue组件实例
Apr 28 Javascript
ECharts地图绘制和钻取简易接口详解
Jul 12 Javascript
electron-vue开发环境内存泄漏问题汇总
Oct 10 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
实现dedecms全站URL静态化改造的代码
2007/03/29 PHP
简单的php新闻发布系统教程
2014/05/09 PHP
PHP的mysqli_set_charset()函数讲解
2019/01/23 PHP
laravel高级的Join语法详解以及使用Join多个条件
2019/10/16 PHP
Javascript JSQL,SQL无处不在,
2010/05/05 Javascript
基于jquery实现的可以编辑选择的下拉框的代码
2010/11/19 Javascript
Jquery中ajax方法data参数的用法小结
2014/02/12 Javascript
jQuery on方法传递参数示例
2014/12/09 Javascript
JavaScript获取DOM元素的11种方法总结
2015/04/25 Javascript
JavaScript 数组中最大最小值
2016/06/05 Javascript
Bootstrap Search Suggest使用例子
2016/12/21 Javascript
微信小程序 slider的简单实例
2017/04/19 Javascript
BootStrap模态框和select2合用时input无法获取焦点的解决方法
2017/09/01 Javascript
react-native 完整实现登录功能的示例代码
2017/09/11 Javascript
详解node服务器中打开html文件的两种方法
2017/09/18 Javascript
dropload.js插件下拉刷新和上拉加载使用详解
2017/10/20 Javascript
详解vue-cli 3.0 build包太大导致首屏过长的解决方案
2018/11/10 Javascript
基于jQuery的时间戳与日期间的转化
2019/06/21 jQuery
NProgress显示顶部进度条效果及使用详解
2019/09/21 Javascript
[17:13]DOTA2 HEROS教学视频教你分分钟做大人-斯拉克
2014/06/13 DOTA
python使用pil生成图片验证码的方法
2015/05/08 Python
Python数据可视化实现多种图例代码详解
2020/07/14 Python
CSS3实例分享--超炫checkbox复选框和radio单选框
2014/09/01 HTML / CSS
纯css3实现效果超级炫的checkbox复选框和radio单选框
2014/09/01 HTML / CSS
利用canvas实现图片下载功能来实现浏览器兼容问题
2019/05/31 HTML / CSS
销售人员中英文自荐信
2013/09/22 职场文书
银行出纳岗位职责
2013/11/25 职场文书
高一新生军训感言
2014/03/02 职场文书
自我鉴定总结
2014/03/24 职场文书
公司新年寄语
2014/04/04 职场文书
护士感人事迹
2014/05/01 职场文书
党的群众路线对照检查材料
2014/09/22 职场文书
公安机关纪律作风整顿剖析
2014/10/10 职场文书
医院护士工作检讨书
2014/10/26 职场文书
2016党员学习作风建设心得体会
2016/01/21 职场文书
python3 字符串str和bytes相互转换
2022/03/23 Python