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插件Echarts实现的渐变色柱状图
Mar 23 jQuery
纯jQuery实现前端分页功能
Mar 23 jQuery
jQuery插件DataTables分页开发心得体会
Aug 22 jQuery
详解webpack3如何正确引用并使用jQuery库
Aug 26 jQuery
Django中使用jquery的ajax进行数据交互的实例代码
Oct 15 jQuery
360提示[高危]使用存在漏洞的JQuery版本的解决方法
Oct 27 jQuery
jQuery简单实现对数组去重及排序操作实例
Oct 31 jQuery
Jquery和CSS实现选择框重置按钮功能
Nov 08 jQuery
jQuery实现动态添加和删除input框代码实例
Mar 29 jQuery
高效jQuery选择器的5个技巧实例分析
Nov 26 jQuery
jquery实现烟花效果(面向对象)
Mar 10 jQuery
Jquery 获取相同NAME 或者id删除行操作
Aug 24 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
浅析HTTP消息头网页缓存控制以及header常用指令介绍
2013/06/28 PHP
php获取数组长度的方法(有实例)
2013/10/27 PHP
PHP闭包函数传参及使用外部变量的方法
2016/03/15 PHP
PHP Header失效的原因分析及解决方法
2016/11/16 PHP
PHP微信公众号开发之微信红包实现方法分析
2017/07/14 PHP
laravel异步监控定时调度器实例详解
2019/06/21 PHP
jQuery 解析xml文件
2009/08/09 Javascript
js判断浏览器类型为ie6时不执行
2014/06/15 Javascript
javascript Slip.js实现整屏滑动的手机网页
2015/11/25 Javascript
小心!AngularJS结合RequireJS做文件合并压缩的那些坑
2016/01/09 Javascript
javascript基本算法汇总
2016/03/09 Javascript
node.js连接mongoDB数据库 快速搭建自己的web服务
2016/04/17 Javascript
数组Array的一些方法(总结)
2017/02/17 Javascript
原生js实现鼠标跟随效果
2017/02/28 Javascript
用jquery获取select标签中选中的option值及文本的示例
2018/01/25 jQuery
vue 使用eventBus实现同级组件的通讯
2018/03/02 Javascript
vue富文本编辑器组件vue-quill-edit使用教程
2018/09/21 Javascript
VUE基于NUXT的SSR 服务端渲染
2018/11/30 Javascript
浅谈JS和jQuery的区别
2019/03/27 jQuery
javascript之分片上传,断点续传的实际项目实现详解
2019/09/05 Javascript
Vue实现剪贴板复制功能
2019/12/31 Javascript
基于JS正则表达式实现模板数据动态渲染(实现思路详解)
2020/03/07 Javascript
国内常用的js类库大全(CDN公共库)
2020/06/24 Javascript
[43:33]EG vs Spirit Supermajor 败者组 BO3 第一场 6.4
2018/06/05 DOTA
Python开发实例分享bt种子爬虫程序和种子解析
2014/05/21 Python
Python编程深度学习计算库之numpy
2018/12/28 Python
Django获取该数据的上一条和下一条方法
2019/08/12 Python
MAC平台基于Python Appium环境搭建过程图解
2020/08/13 Python
Fossil德国官网:化石手表、手袋、珠宝及配件
2019/12/07 全球购物
新加坡鲜花速递/新加坡网上花店:Ferns N Petals
2020/08/29 全球购物
如何提高MySql的安全性
2014/06/19 面试题
酒店门卫岗位职责
2013/12/29 职场文书
校园联欢晚会主持词
2014/03/17 职场文书
领导干部失职检讨书
2015/05/05 职场文书
2015国庆节感想
2015/08/04 职场文书
Golang入门之计时器
2022/05/04 Golang