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 相关文章推荐
用javascript实现的仿Flash广告图片轮换效果
Apr 24 Javascript
jQuery扁平化风格下拉框美化插件FancySelect使用指南
Feb 10 Javascript
JavaScript实现的SHA-1加密算法完整实例
Feb 02 Javascript
JavaScript中setTimeout和setInterval函数的传参及调用
Mar 11 Javascript
jQuery图片轮播实现并封装(一)
Dec 03 Javascript
简单实现jQuery多选框功能
Jan 09 Javascript
详解用node-images 打造简易图片服务器
May 08 Javascript
详解webpack和webpack-simple中如何引入css文件
Jun 28 Javascript
详解django模板与vue.js冲突问题
Jul 07 Javascript
js实现多张图片每隔一秒切换一张图片
Jul 29 Javascript
Swiper.js实现移动端元素左右滑动
Sep 08 Javascript
Vue实现随机验证码功能
Dec 29 Vue.js
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
虫族 Zerg 历史背景
2020/03/14 星际争霸
常见php数据文件缓存类汇总
2014/12/05 PHP
php计算2个日期的差值函数分享
2015/02/02 PHP
laravel框架添加数据,显示数据,返回成功值的方法
2019/10/11 PHP
Nigma vs AM BO3 第二场2.13
2021/03/10 DOTA
List the Stored Procedures in a SQL Server database
2007/06/20 Javascript
JS图片切换的具体方法(带缩略图版)
2013/11/12 Javascript
jquery遍历筛选数组的几种方法和遍历解析json对象
2013/12/13 Javascript
location.href用法总结(最主要的)
2013/12/27 Javascript
java、javascript实现附件下载示例
2014/08/14 Javascript
jquery中append()与appendto()用法分析
2014/11/14 Javascript
javascript实现简单的鼠标拖动效果实例
2015/04/10 Javascript
jQuery插件实现表格隔行变色及鼠标滑过高亮显示效果代码
2016/02/25 Javascript
基于chosen插件实现人员选择树搜索自动筛选功能
2016/09/24 Javascript
Require.JS中的几种define定义方式示例
2017/06/01 Javascript
nodejs动态创建二维码的方法
2017/08/12 NodeJs
封装运动框架实战左右与上下滑动的焦点轮播图(实例)
2017/10/17 Javascript
jQuery 操作 HTML 元素和属性的方法
2018/11/12 jQuery
详解key在Vue列表渲染时究竟起到了什么作用
2019/04/20 Javascript
一文快速了解JQuery中的AJAX
2019/05/31 jQuery
学习RxJS之JavaScript框架Cycle.js
2019/06/17 Javascript
Python描述器descriptor详解
2015/02/03 Python
深入理解Django的中间件middleware
2018/03/14 Python
python线程定时器Timer实现原理解析
2019/11/30 Python
使用 PyTorch 实现 MLP 并在 MNIST 数据集上验证方式
2020/01/08 Python
Pytorch使用MNIST数据集实现基础GAN和DCGAN详解
2020/01/10 Python
Python Opencv 通过轨迹(跟踪)栏实现更改整张图像的背景颜色
2020/03/09 Python
css3实现画半圆弧线的示例代码
2017/11/06 HTML / CSS
HTML5实现Notification API桌面通知功能
2016/03/02 HTML / CSS
Superdry瑞典官网:英国日本街头风品牌
2017/05/17 全球购物
描述JSP和Servlet的区别、共同点、各自应用的范围
2012/10/02 面试题
专科毕业生就业推荐信
2013/11/01 职场文书
大学生职业生涯规划范文
2014/01/08 职场文书
《我的长生果》教学反思
2016/02/20 职场文书
Matlab求解数组中的最大值及它所在的具体位置
2021/04/16 Python
RestTemplate如何通过HTTP Basic Auth认证示例说明
2022/03/17 Java/Android