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 imgareaselect 使用利用js与程序结合实现图片剪切
Jul 30 Javascript
javaScript复制功能调用实现方案
Dec 13 Javascript
JavaScript:Div层拖动效果实例代码
Aug 06 Javascript
JS 在指定数组中随机取出N个不重复的数据
Jun 10 Javascript
js实现格式化金额,字符,时间的方法
Feb 26 Javascript
JavaScript里四舍五入函数round用法实例
Apr 06 Javascript
Javascript进制转换实例分析
May 14 Javascript
javascript实现自动输出文本(打字特效)
Aug 27 Javascript
JS实现n秒后自动跳转的两种方法
Nov 30 Javascript
Vue 之孙组件向爷组件通信的实现
Apr 23 Javascript
JS实现的简单tab切换功能完整示例
Jun 20 Javascript
使用JavaScript获取扫码枪扫描得到的条形码的思路代码详解
Jun 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
桌面中心(四)数据显示
2006/10/09 PHP
PHP 解决utf-8和gb2312编码转换问题
2010/03/18 PHP
PHP中文处理 中文字符串截取(mb_substr)和获取中文字符串字数
2011/11/10 PHP
php生成随机字符串可指定纯数字、纯字母或者混合的
2014/04/18 PHP
windows7下php开发环境搭建图文教程
2015/01/06 PHP
PHP实现移除数组中为空或为某值元素的方法
2017/01/07 PHP
《JavaScript高级程序设计》阅读笔记(二) ECMAScript中的原始类型
2012/02/27 Javascript
JavaScript中将数组进行合并的基本方法讲解
2016/03/07 Javascript
Javascript基础知识盲点总结之函数
2016/05/15 Javascript
js表单元素checked、radio被选中的几种方法(详解)
2016/08/22 Javascript
用最简单的方法判断JavaScript中this的指向(推荐)
2017/09/04 Javascript
vue实现验证码按钮倒计时功能
2018/04/10 Javascript
解决IOS端微信H5页面软键盘弹起后页面下方留白的问题
2019/06/05 Javascript
vue组件添加事件@click.native操作
2020/10/30 Javascript
关于javascript中的promise的用法和注意事项(推荐)
2021/01/15 Javascript
python算法学习之基数排序实例
2013/12/18 Python
详解Python的迭代器、生成器以及相关的itertools包
2015/04/02 Python
详尽讲述用Python的Django框架测试驱动开发的教程
2015/04/22 Python
单链表反转python实现代码示例
2018/02/08 Python
python 遍历目录(包括子目录)下所有文件的实例
2018/07/11 Python
Python+PyQT5的子线程更新UI界面的实例
2019/06/14 Python
树莓派动作捕捉抓拍存储图像脚本
2019/06/22 Python
Python无头爬虫下载文件的实现
2020/04/02 Python
Python图像阈值化处理及算法比对实例解析
2020/06/19 Python
在Keras中CNN联合LSTM进行分类实例
2020/06/29 Python
浅析Python 条件控制语句
2020/07/15 Python
Python基于xlrd模块处理合并单元格
2020/07/28 Python
中医药大学毕业生自荐信
2013/11/08 职场文书
工作疏忽检讨书
2014/01/25 职场文书
2014年3.15团委活动总结
2014/03/16 职场文书
2014年医学生毕业自我鉴定
2014/03/26 职场文书
国际贸易专业求职信
2014/06/04 职场文书
教师民族团结演讲稿
2014/08/27 职场文书
领导班子个人查摆问题对照检查材料
2014/10/02 职场文书
教师培训简讯
2015/07/20 职场文书
节水宣传标语口号
2015/12/26 职场文书