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 相关文章推荐
bootstrap+jQuery 实现下拉菜单中复选框全选和全不选效果
Jun 12 jQuery
jQuery实现返回顶部按钮和scroll滚动功能[带动画效果]
Jul 05 jQuery
如何将 jQuery 从你的 Bootstrap 项目中移除(取而代之使用Vue.js)
Jul 17 jQuery
jQuery实现图片上传预览效果功能完整实例【测试可用】
May 28 jQuery
jQuery实现监听下拉框选中内容发生改变操作示例
Jul 13 jQuery
JQuery模拟实现网页中自定义鼠标右键菜单功能
Nov 14 jQuery
jquery实现掷骰子小游戏
Oct 24 jQuery
jQuery实现小火箭返回顶部特效
Feb 03 jQuery
jquery实现简单拖拽效果
Jul 20 jQuery
jQuery实现滑动开关效果
Aug 02 jQuery
jquery+ajax实现异步上传文件显示进度条
Aug 17 jQuery
js和jquery判断数据类型的4种方法总结
Aug 28 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
模拟用户操作Input元素,不会触发相应事件
2007/05/11 Javascript
js checkbox(复选框) 使用集锦
2009/04/28 Javascript
jQuery 美元符冲突的解决方法
2010/03/28 Javascript
javascript学习笔记(六) Date 日期类型
2012/06/19 Javascript
javaScript函数中执行C#代码中的函数方法总结
2013/08/07 Javascript
利用window.name实现windowStorage代码分享
2014/01/02 Javascript
js读取被点击次数的简单实例(从数据库中读取)
2014/03/07 Javascript
jQuery的:parent选择器定义和用法
2014/07/01 Javascript
JavaScript闭包实例详解
2016/06/03 Javascript
jQuery dataTables与jQuery UI 对话框dialog的使用教程
2016/09/02 Javascript
Angular2中Bootstrap界面库ng-bootstrap详解
2016/10/18 Javascript
详解照片瀑布流效果(js,jquery分别实现与知识点总结)
2017/01/01 Javascript
纯javaScript、jQuery实现个性化图片轮播【推荐】
2017/01/08 Javascript
vue组件间通信解析
2017/03/01 Javascript
easyui简介_动力节点Java学院整理
2017/07/14 Javascript
微信小程序从注册账号到上架(图文详解)
2019/07/17 Javascript
node.js 微信开发之定时获取access_token
2020/02/07 Javascript
vue 点击其他区域关闭自定义div操作
2020/07/17 Javascript
用Python生成器实现微线程编程的教程
2015/04/13 Python
在Python的Django框架中用流响应生成CSV文件的教程
2015/05/02 Python
小白如何入门Python? 制作一个网站为例
2018/03/06 Python
解决pip install的时候报错timed out的问题
2018/06/12 Python
Python进阶之@property动态属性的实现
2019/04/01 Python
django框架CSRF防护原理与用法分析
2019/07/22 Python
pytorch 可视化feature map的示例代码
2019/08/20 Python
python+django+rest框架配置创建方法
2019/08/31 Python
numpy中三维数组中加入元素后的位置详解
2019/11/28 Python
Python 从attribute到property详解
2020/03/05 Python
SQL Server 2000数据库的文件有哪些,分别进行描述
2013/03/30 面试题
奶茶店创业计划书
2014/08/14 职场文书
大学迎新生标语
2014/10/06 职场文书
史上最牛辞职信
2015/05/13 职场文书
教你用python控制安卓手机
2021/05/13 Python
详解CSS不受控制的position fixed
2021/05/25 HTML / CSS
JAVA API 实用类 String详解
2021/10/05 Java/Android
俄罗斯十大城市人口排名,第三首都仅排第六,第二是北方首都
2022/03/20 杂记