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-data的三种用法
Apr 18 jQuery
jQuery实现多张图片上传预览(不经过后端处理)
Apr 29 jQuery
jQuery操作css样式
May 15 jQuery
jQuery导航条固定定位效果实例代码
May 26 jQuery
简述jQuery Easyui一些用法
Aug 01 jQuery
jQuery选取所有复选框被选中的值并用Ajax异步提交数据的实例
Aug 04 jQuery
jQuery实现可兼容IE6的淡入淡出效果告警提示功能示例
Sep 20 jQuery
jquery在启动页面时,自动加载数据的实例
Jan 22 jQuery
jQuery中元素选择器(element)简单用法示例
May 14 jQuery
jQuery利用FormData上传文件实现批量上传
Dec 04 jQuery
jquery操作checkbox的常用方法总结【附测试源码下载】
Jun 10 jQuery
JavaScript表格隔行变色和Tab标签页特效示例【附jQuery版】
Jul 11 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
laravel安装和配置教程
2014/10/29 PHP
php实现将HTML页面转换成word并且保存的方法
2016/10/14 PHP
php实现跨域提交form表单的方法【2种方法】
2016/10/17 PHP
PHP优化之批量操作MySQL实例分析
2020/04/23 PHP
动态加载js文件 document.createElement
2006/10/14 Javascript
利用javascript移动div层-javascript 拖动层
2009/03/22 Javascript
Prototype Array对象 学习
2009/07/19 Javascript
javascript new fun的执行过程
2010/08/05 Javascript
JavaScript中的parse()方法使用简介
2015/06/12 Javascript
JS+CSS实现分类动态选择及移动功能效果代码
2015/10/19 Javascript
js小数计算小数点后显示多位小数的实现方法
2016/05/30 Javascript
javascript实现用户点击数量统计
2016/12/25 Javascript
给Easyui-Datebox设置隐藏或者不可用的解决方法
2017/05/26 Javascript
Angularjs Promise实例详解
2018/03/15 Javascript
vue组件文档(.md)中如何自动导入示例(.vue)详解
2019/01/25 Javascript
判断文字超过2行添加展开按钮,未超过则不显示,溢出部分显示省略号
2019/04/28 Javascript
[15:58]DOTA2国际邀请赛采访专栏:Tongfu.Sansheng&KingJ,DK.rOtk
2013/08/08 DOTA
Python加pyGame实现的简单拼图游戏实例
2015/05/15 Python
Python实现的使用telnet登陆聊天室实例
2015/06/17 Python
Python利用pandas计算多个CSV文件数据值的实例
2018/04/19 Python
python中的常量和变量代码详解
2018/07/25 Python
python生成n个元素的全组合方法
2018/11/13 Python
Python实现合并两个有序链表的方法示例
2019/01/31 Python
PyTorch中反卷积的用法详解
2019/12/30 Python
150行Python代码实现带界面的数独游戏
2020/04/04 Python
解决python对齐错误的方法
2020/07/16 Python
前端实现背景虚化但内容清晰且自适应 的实例代码
2019/08/01 HTML / CSS
ALEX AND ANI:手镯,项链,耳环和更多
2017/04/20 全球购物
Sperry澳大利亚官网:源自美国帆船鞋创始品牌
2019/07/29 全球购物
Paradox London官方网站:英国新娘鞋婚礼鞋品牌
2019/08/29 全球购物
写给女朋友的检讨书
2014/01/28 职场文书
婚礼答谢词
2015/01/04 职场文书
单位考核聘任报告
2015/03/02 职场文书
清洁工个人工作总结
2015/03/05 职场文书
道士塔读书笔记
2015/06/30 职场文书
信息技术国培研修日志
2015/11/13 职场文书