jquery实现图片放大镜效果


Posted in jQuery onDecember 23, 2020

本文实例为大家分享了jquery实现图片放大镜效果的具体代码,供大家参考,具体内容如下

首先是HTML

<div id="box">
    <div id="big">
      <div>
        <img src="./img/可达鸭.jpg" alt="">
      </div>
      <div id="fd"></div>
    </div>
    <div id="fdshow">
      <img src="./img/可达鸭.jpg" alt="">
    </div>
</div>

这里主要是放入两张照片,和一个空的标签,用于放大用

接下来是css样式,这里非常重要,能不能成功放大这里占据了6成左右

<style>
    *{
      margin: 0px;
      padding: 0px;
    }
    #box{
      position: relative;
    }
    #big{
      width: 500px;
      height: 300px;
    }
    #big img{
      width: 500px;
      height: 300px;
    }
    #fd{
      width: 100px;
      height: 100px;
      background-color: white;
      opacity: 0.4;
      position: absolute;
      top: 0;
      left: 0;
      display: none;
    }
    #fdshow{
      width: 200px;
      height: 200px;
      overflow: hidden;
      position: relative;
      border: 1px solid;
    }
    #fdshow>img{
      width: 1000px;
      height: 600px;
      position: absolute;
      top: 0px;
      left: 0px;
    }
</style>

接下来是jq

<script>
    $("#big img").on("mousemove",function(a){
      var x=a.pageX-$("#big").offset().left;
      var y=a.pageY-$("#big").offset().top;
      console.log(x,y)
      var style1={
        top:y,               
        left:x,
        "display":"block"
      };
      $("#fd").css(style1);
      var style2={ 
        'left':-2*x,
  'top':-2*y
      };
      $("#fdshow>img").css(style2)
    })
</script>

效果达到放大2倍 (对css样式的要求特别严格)

1.css 样式 大图片是小图片的2倍

2.给大图片外面套一个div设置一个是那个选图片的div的2倍,然后给大图片的div设置一个溢出部分隐藏 overflow: hidden;

3.获取鼠标在元素内的位置

(1).获取鼠标相对于文档的位置
(2).然后在获取元素的在当前可视区域的位置
(3).鼠标在元素内的位置 == 鼠标相对于文档的位置 减 获取元素的在当前可视区域的位置

4.给放大镜框添加位置 就是鼠标在元素内的位置这一步就达到了放大镜框跟这鼠标走

5.给大图片添加 top left值 就是偏移量

e ==> js中的 event
获取鼠标在元素内的位置

(1).获取鼠标相对于文档的位置
(2).然后在获取元素的在当前可视区域的位置
(3).鼠标在元素内的位置 == 鼠标相对于文档的位置 减 获取元素的在当前可视区域的位置
因为上面css样式中写入的 大图片是小图片的2倍 所以这里的偏移变应该也是2倍

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

jQuery 相关文章推荐
jQuery实现动态添加、删除按钮及input输入框的方法
Apr 27 jQuery
JQuery Ajax 异步操作之动态添加节点功能
May 24 jQuery
解决jQuery ajax动态新增节点无法触发点击事件的问题
May 24 jQuery
jQuery validata插件实现方法
Jun 25 jQuery
jQuery实现节点的追加、替换、删除、复制功能示例
Jul 11 jQuery
基于jQuery的$.getScript方法去加载javaScript文档解析
Nov 08 jQuery
jQuery动态移除与增加onclick属性的方法详解
Jun 07 jQuery
jQuery实现动画、消失、显现、渐出、渐入效果示例
Sep 06 jQuery
jQuery实现的3D版图片轮播示例【滑动轮播】
Jan 18 jQuery
jquery将json转为数据字典的实例代码
Oct 11 jQuery
jQuery HTML获取内容和属性操作实例分析
May 20 jQuery
html5以及jQuery实现本地图片上传前的预览代码实例讲解
Mar 01 jQuery
jQuery实现增删改查
Dec 22 #jQuery
jQuery实现本地存储
Dec 22 #jQuery
jQuery实现电梯导航模块
Dec 22 #jQuery
jQuery实现tab栏切换效果
Dec 22 #jQuery
jQuery+ajax实现文件上传功能
Dec 22 #jQuery
jQuery实现动态向上滚动
Dec 21 #jQuery
Jquery+javascript实现支付网页数字键盘
Dec 21 #jQuery
You might like
php面向对象中static静态属性和静态方法的调用
2015/02/08 PHP
thinkPHP使用pclzip打包备份mysql数据库的方法
2016/04/30 PHP
PHP笛卡尔积实现算法示例
2018/07/30 PHP
Centos7安装swoole扩展操作示例
2020/03/26 PHP
jquery.simple.tree插件 更简单,兼容性更好的无限树插件
2010/09/03 Javascript
JavaScript中json对象和string对象之间相互转化
2012/12/26 Javascript
Javascript之this关键字深入解析
2013/11/12 Javascript
jQuery web 组件 后台日历价格、库存设置的代码
2016/10/14 Javascript
BootStrapTable服务器分页实例解析
2016/12/20 Javascript
详解node HTTP请求客户端 - Request
2017/05/05 Javascript
详解webpack-dev-server使用http-proxy解决跨域问题
2018/01/13 Javascript
解决Angular.js中使用Swiper插件不能滑动的问题
2018/02/26 Javascript
vue.js-div滚动条隐藏但有滚动效果的实现方法
2018/03/03 Javascript
jQuery实现的简单获取索引功能示例
2018/06/04 jQuery
Vue父子组件双向绑定传值的实现方法
2018/07/31 Javascript
详解vue 数组和对象渲染问题
2018/09/21 Javascript
微信小程序 flexbox layout快速实现基本布局的解决方案
2020/03/24 Javascript
JS 5种遍历对象的方式
2020/06/16 Javascript
vue 动态创建组件的两种方法
2020/12/31 Vue.js
全面解读Python Web开发框架Django
2014/06/30 Python
Python类的专用方法实例分析
2015/01/09 Python
简单介绍Python中用于求最小值的min()方法
2015/05/15 Python
python 打印出所有的对象/模块的属性(实例代码)
2016/09/11 Python
Ubuntu 下 vim 搭建python 环境 配置
2017/06/12 Python
基于并发服务器几种实现方法(总结)
2017/12/29 Python
Python常用爬虫代码总结方便查询
2019/02/25 Python
Python实现根据日期获取当天凌晨时间戳的方法示例
2019/04/09 Python
利用CSS3实现平移动画效果示例代码
2016/10/12 HTML / CSS
教育技术学专业职业规划书
2014/03/03 职场文书
某集团股份有限公司委托书样本
2014/09/24 职场文书
工作汇报开头与结尾怎么写
2014/11/08 职场文书
2014年班组建设工作总结
2014/12/01 职场文书
中学生综合素质自我评价
2015/03/06 职场文书
现役军人家属慰问信
2015/03/24 职场文书
JavaScript 中for/of,for/in 的详细介绍
2021/11/17 Javascript
详解Python如何批量采集京东商品数据流程
2022/01/22 Python