jquery实现图片放大镜效果

 更新时间:2020年12月23日 09:50:55   作者:风萧声寂  
这篇文章主要为大家详细介绍了jquery实现图片放大镜效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了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呼吸轮播图制作原理详解

    这篇文章主要为大家详细介绍了jQuery呼吸轮播图制作原理,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • JQuery判断子iframe何时加载完成解决方案

    JQuery判断子iframe何时加载完成解决方案

    需要知道iframe何时加载完成,用JQuery很简单就能实现,具体如下,感兴趣的朋友可以参考下,希望对大家有所帮助
    2013-08-08
  • jQuery EasyUI Tab 选项卡问题小结

    jQuery EasyUI Tab 选项卡问题小结

    这篇文章主要介绍了jQuery EasyUI Tab 选项卡问题小结,在项目开发阶段很多朋友都遇到过此问题,其实解决办法很简单的,下面小编给大家分享下问题原因及解决办法,需要的朋友可以参考下
    2016-08-08
  • jQuery基础_入门必看知识点

    jQuery基础_入门必看知识点

    下面小编就为大家带来一篇jQuery基础_入门必看知识点。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-07-07
  • EasyUI布局 高度自适应

    EasyUI布局 高度自适应

    这篇文章主要介绍EasyUI高度自适应的问题,比较实用,需要的朋友可以参考下。
    2016-06-06
  • 浅谈jQuery添加的HTML,JS失效的问题

    浅谈jQuery添加的HTML,JS失效的问题

    下面小编就为大家带来一篇浅谈jQuery添加的HTML,JS失效的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-10-10
  • jQuery移动端日期(datedropper)和时间(timedropper)选择器附源码下载

    jQuery移动端日期(datedropper)和时间(timedropper)选择器附源码下载

    今天我给大家介绍一款非常有趣的日期和时间选择器,它分为日期选择器datedropper以及时间选择器timedropper,他们俩尤其适合在移动端上应用。感兴趣的小伙伴一起学习吧
    2016-04-04
  • jQuery设置聚焦并使光标位置在文字最后的实现方法

    jQuery设置聚焦并使光标位置在文字最后的实现方法

    下面小编就为大家带来一篇jQuery设置聚焦并使光标位置在文字最后的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-08-08
  • jquery插件hiAlert实现网页对话框美化

    jquery插件hiAlert实现网页对话框美化

    hiAlert是一款基于jQuery的信息提示插件,它支持操作成功、操作失败和操作提醒三种信息提示方式。hiAlert浏览器兼容性非常好,支持更改提示内容,支持定位提示框的位置,可配置插件参数。
    2015-05-05
  • jquery全选checkBox功能实现代码(取消全选功能)

    jquery全选checkBox功能实现代码(取消全选功能)

    这篇文章主要介绍了jquery实现checkBox全选功能、取消全选功能,代码简单,大家可以直接参考使用
    2013-12-12

最新评论