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 tablesorter.js 支持中文表格排序改进
Dec 09 Javascript
基于jquery的固定表头和列头的代码
May 03 Javascript
Javascript 页面模板化很多人没有使用过的方法
Jun 05 Javascript
通过js简单实现将一个文本内容转译成加密文本
Oct 22 Javascript
javascript放大镜效果的简单实现
Dec 09 Javascript
jquery操作select大全
Apr 25 Javascript
jQuery解决浏览器兼容性问题案例分析
Apr 15 Javascript
JCrop+ajaxUpload 图像切割上传的实例代码
Jul 20 Javascript
javascript设计模式之Adapter模式【适配器模式】实现方法示例
Jan 13 Javascript
JavaScript瀑布流布局实现代码
May 06 Javascript
深入理解Node module模块
Mar 26 Javascript
浅谈vuepress 踩坑记
Apr 18 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
三种php连接access数据库方法
2013/11/11 PHP
php中file_get_contents与curl性能比较分析
2014/11/08 PHP
PHP将进程作为守护进程的方法
2015/03/19 PHP
laravel执行php artisan migrate报错的解决方法
2019/10/09 PHP
基于jquery的横向滚动条(滑动条)
2011/02/24 Javascript
基于jquery实现的移入页面上空文本框时,让它变为焦点,移出清除焦点
2011/07/26 Javascript
JS嵌套函数调用上下文的问题解决
2014/03/26 Javascript
bootstrap3 兼容IE8浏览器!
2016/05/02 Javascript
Vue表单验证插件Vue Validator使用方法详解
2017/04/07 Javascript
JS设置随机出现2个数字的实例代码
2017/07/19 Javascript
简单快速的实现js计算器功能
2017/08/17 Javascript
jQuery基于闭包实现的显示与隐藏div功能示例
2018/06/09 jQuery
vue+render+jsx实现可编辑动态多级表头table的实例代码
2020/04/01 Javascript
[01:34]完美“圣”典宣传片震撼发布,12.17与你不见不散
2016/12/16 DOTA
[19:54]夜魇凡尔赛茶话会 第一期02:看图识人
2021/03/11 DOTA
使用Python+Splinter自动刷新抢12306火车票
2018/01/03 Python
python实现集中式的病毒扫描功能详解
2019/07/09 Python
Python中的几种矩阵乘法(小结)
2019/07/10 Python
使用python写的opencv实时监测和解析二维码和条形码
2019/08/14 Python
Python爬虫小例子——爬取51job发布的工作职位
2020/07/10 Python
python如何实时获取tcpdump输出
2020/09/16 Python
python中PyQuery库用法分享
2021/01/15 Python
英国领先的野生鸟类食品供应商:GardenBird
2018/08/09 全球购物
牵手50新加坡:专为黄金岁月的单身人士而设的交友网站
2020/08/16 全球购物
.NET初级开发工程师面试题
2014/04/18 面试题
土木工程毕业生推荐信
2013/10/28 职场文书
《小白兔和小灰兔》教学反思
2014/02/18 职场文书
运动会广播稿50字-100字
2014/10/11 职场文书
村党的群众路线教育实践活动总结材料
2014/10/31 职场文书
优秀校长事迹材料
2014/12/24 职场文书
新教师个人工作总结
2015/02/06 职场文书
小平您好观后感
2015/06/09 职场文书
运动员入场词
2015/07/18 职场文书
导游词之广东佛山(南风古灶)
2019/09/24 职场文书
CSS 伪元素::marker详解
2021/06/26 HTML / CSS
Win10 和 Win11可以共存吗? win10/11产品生命周期/服务更新介绍
2021/11/21 数码科技