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 29 jQuery
jquery与js实现全选功能的区别
Jun 11 jQuery
jQuery获取table表中的td标签(实例讲解)
Jul 28 jQuery
jQuery实现简单的计时器功能实例分析
Aug 29 jQuery
jQuery+vue.js实现的九宫格拼图游戏完整实例【附源码下载】
Sep 12 jQuery
jQuery选择器之表单元素选择器详解
Sep 19 jQuery
JS与jQuery实现ListBox上移,下移,左移,右移操作功能示例
May 31 jQuery
使用jquery DataTable和ajax向页面显示数据列表的方法
Aug 09 jQuery
深入浅析angular和vue还有jquery的区别
Aug 13 jQuery
jQuery实现的简单手风琴效果示例
Aug 29 jQuery
基于jquery实现彩色投票进度条代码解析
Aug 26 jQuery
jQuery中getJSON跨域原理的深入讲解
Sep 02 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中的串行化变量和序列化对象
2006/09/05 PHP
PHP base64+gzinflate压缩编码和解码代码
2008/10/03 PHP
PHP PDOStatement::setFetchMode讲解
2019/02/03 PHP
学习面向对象之面向对象的术语
2010/11/30 Javascript
33个优秀的jQuery 教程分享(幻灯片、动画菜单)
2011/07/08 Javascript
js中reverse函数的用法详解
2013/12/26 Javascript
JS数组的赋值介绍
2014/03/10 Javascript
AngularJS HTML编译器介绍
2014/12/06 Javascript
javascript文本框内输入文字倒计数的方法
2015/02/24 Javascript
JS实现CheckBox复选框全选全不选功能
2015/05/06 Javascript
jquery实现TAB选项卡鼠标经过带延迟效果的方法
2015/07/27 Javascript
使用jquery.form.js实现图片上传的方法
2016/05/05 Javascript
微信小程序 小程序制作及动画(animation样式)详解
2017/01/06 Javascript
js仿微信公众平台打标签功能
2017/04/08 Javascript
JavaScript订单操作小程序完整版
2017/06/23 Javascript
用React实现一个完整的TodoList的示例代码
2017/10/30 Javascript
AngularJS 表单验证手机号的实例(非必填)
2017/11/12 Javascript
Router解决跨模块下的页面跳转示例
2018/01/11 Javascript
Javascript实现异步编程的过程
2018/06/18 Javascript
JavaScript使用享元模式实现文件上传优化操作示例
2018/08/07 Javascript
JavaScript实现星级评价效果
2019/05/17 Javascript
ES6 Set结构的应用实例分析
2019/06/26 Javascript
Openlayers显示瓦片网格信息的方法
2020/09/28 Javascript
python实现简单淘宝秒杀功能
2018/05/03 Python
pyqt5 键盘监听按下enter 就登陆的实例
2019/06/25 Python
python3实现绘制二维点图
2019/12/04 Python
Pytorch的mean和std调查实例
2020/01/02 Python
CSS3+Sprite实现僵尸行走动画特效源码
2016/01/27 HTML / CSS
英国当代时尚和街头服饰店:18montrose
2018/12/15 全球购物
Farfetch台湾官网:奢侈品牌时尚购物平台
2019/06/17 全球购物
EJB与JAVA BEAN的区别
2016/08/29 面试题
大专生毕业的自我评价
2014/02/06 职场文书
英语自我介绍演讲稿
2014/09/01 职场文书
简单的离婚协议书范本
2014/11/16 职场文书
篮球赛新闻稿
2015/07/17 职场文书
css清除浮动clearfix:after的用法详解(附完整代码)
2023/05/21 HTML / CSS