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实现文章图片弹出放大效果
Apr 06 jQuery
jQuery zTree树插件动态加载实例代码
May 11 jQuery
jQuery Ajax使用FormData上传文件和其他数据后端web.py获取
Jun 11 jQuery
jQuery实现base64前台加密解密功能详解
Aug 29 jQuery
jQuery实现右侧抽屉式在线客服功能
Dec 25 jQuery
jQuery 改变P标签文本值方法
Feb 24 jQuery
JQuery选中select组件被选中的值方法
Mar 08 jQuery
jQuery实现菜单的显示和隐藏功能示例
Jul 24 jQuery
jQuery实现的简单手风琴效果示例
Aug 29 jQuery
jquery+css实现Tab栏切换的代码实例
May 14 jQuery
jquery操作select常见方法大全【7种情况】
May 28 jQuery
jquery树形插件zTree高级使用详解
Aug 16 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
thinkPHP js文件中U方法不被解析问题的解决方法
2016/12/05 PHP
PHP自定义序列化接口Serializable用法分析
2017/12/29 PHP
在Laravel 的 Blade 模版中实现定义变量
2019/10/14 PHP
一个对于js this关键字的问题
2007/01/09 Javascript
js 获取input点选按钮的值的方法
2014/04/14 Javascript
javascript常见用法总结
2014/05/22 Javascript
javascript的tab切换原理与效果实现方法
2015/01/10 Javascript
Javascript核心读书有感之词法结构
2015/02/01 Javascript
分享jQuery插件的学习笔记
2016/01/14 Javascript
JavaScript判断数字是否为质数的方法汇总
2016/06/02 Javascript
jQuery实现手机上输入后隐藏键盘功能
2017/01/04 Javascript
JS控件bootstrap suggest plugin使用方法详解
2017/03/25 Javascript
原生js实现简单的链式操作
2017/07/04 Javascript
VSCode使用之Vue工程配置eslint
2019/04/30 Javascript
微信小程序如何自定义table组件
2019/06/29 Javascript
js实现弹窗效果
2020/08/09 Javascript
javascript实现数字时钟效果
2021/02/06 Javascript
使用Python来编写HTTP服务器的超级指南
2016/02/18 Python
python实现大量图片重命名
2020/03/23 Python
基于python实现蓝牙通信代码实例
2019/11/19 Python
python 字典套字典或列表的示例
2019/12/16 Python
Python pip配置国内源的方法
2020/02/14 Python
jupyter notebook插入本地图片的实现
2020/04/13 Python
python实现梯度下降算法的实例详解
2020/08/17 Python
c++工程师面试问题
2013/08/04 面试题
素质拓展感言
2014/01/29 职场文书
个人求职自荐信范文
2014/06/20 职场文书
励志演讲稿大全
2014/08/21 职场文书
国家税务局领导班子对照检查材料思想汇报
2014/10/04 职场文书
幼儿园校园小喇叭广播稿
2014/10/17 职场文书
谢师宴答谢词
2015/01/05 职场文书
公司表扬稿范文
2015/05/05 职场文书
欠条范文
2015/07/03 职场文书
多表查询、事务、DCL
2021/04/05 MySQL
Golang实现AES对称加密的过程详解
2021/05/20 Golang
Springboot使用Spring Data JPA实现数据库操作
2021/06/30 Java/Android