jquery实现的放大镜效果示例


Posted in jQuery onFebruary 24, 2020

本文实例讲述了jquery实现的放大镜效果。分享给大家供大家参考,具体如下:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>商品详情</title>
  <link rel="stylesheet" href="../css/shoplistxq.css" rel="external nofollow" >
</head>
<body>
  <div class="main box">
    <div class="img">
      <img src="../img/shoplist/TB1lO6XJpXXXXc_XFXXLhc5_XXX_054423.jpg" alt="">
      <div class="bri"></div>
      <div class="big"></div>
    </div>
    <div class="content">
      <h3>2件卫衣男士长袖t恤加厚打底衫加绒秋衣保,<br>
        暖上衣男装冬季衣服潮
      买一送一!2件仅需89!加绒不加价!</h3>
      <div>价格¥ 168.00</div>
      <div>尺码</div>
      <div>颜色</div>
      <div>数量</div>
      <div>加入购物车</div>
    </div>
  </div>
</body>
</html>
<script src="../js/jquery-1.11.3.js"></script>
<script src="../js/shoplistxq.js"></script>

shoplistxq.css:

*{
 margin:0;
 padding:0;
 font-family: "微软雅黑";
}
ul li{
 list-style: none;
}
a{
 text-decoration: none;
 color: #666;
}
/*主体宽度*/
.main {
 margin:0 auto;
 width: 1210px;
}
.box{
  margin-top: 50px;
}
.box::after{
  content: ".";
  height:0;
  overflow: hidden;
  visibility: hidden;
  clear: both;
}
.img{
  width: 400px;
  height: 400px;
  border: 1px solid #666666;
  position: relative;
  float: left;
}
.img img{
  width: 100%;
  height: 100%;
}
.bri{
  position: absolute;
  width: 100px;
  height: 100px;
  left:0;
  top:0;
  background: rgb(233, 118, 118);
  opacity: .5;
  cursor: crosshair;
}
.big{
  width:100%;
  height: 100%;
  position: absolute;
  background: url("../img/shoplist/TB1lO6XJpXXXXc_XFXXLhc5_XXX_054423.jpg");
  left:401px;
  top:0;
  background-size: 100%;
  display:none;
}
.content{
  float: right;
}

shoplistxq.js:

$(function() {
  $(".img").mousemove(function (e) {
    $(".bri").css({
      "left": e.pageX - $(this).offset().left - $(".bri").width() / 2,
      "top": e.pageY - $(this).offset().top - $(".bri").height() / 2
    })
    if (parseFloat($(".bri").css("left")) < 0){
      $(".bri").css("left","0");
      // console.log("kk");
    } else if (parseFloat($(".bri").css("left")) >= parseFloat($(this).width() - $(".bri").width())){
      // alert("kk");
      $(".bri").css("left",$(this).width() - $(".bri").width());
    }
    if (parseFloat($(".bri").css("top")) < 0) {
      $(".bri").css("top", "0");
    } else if (parseFloat($(".bri").css("top")) >= parseFloat($(this).height() - $(".bri").height())) {
      // alert("kk");
      $(".bri").css("top", $(this).height() - $(".bri").height());
    }
    console.log($(".img").css("background"))
    // 放大倍数
    let num = 4;
    let left = -num * parseFloat($(".bri").css("left"));
    let top = -num * parseFloat($(".bri").css("top"));
    // console.log($(".bri").css("left"))
    $(".big").css({
      "background-size": num*100+"%",
      "background-position":left+"px " +top+"px",
      "display":"block"
      // "background": $(".img").css("background")
    });
  })
})
$(".img").mouseout(function (e) {
  $(".big").css({
    "display": "none"
    // "background": $(".img").css("background")
  });
})

希望本文所述对大家jQuery程序设计有所帮助。

jQuery 相关文章推荐
详解如何在 vue 项目里正确地引用 jquery 和 jquery-ui的插件
Jun 01 jQuery
使用 jQuery 实现表单验证功能
Jul 05 jQuery
jQuery实现验证表单密码一致性及正则表达式验证邮箱、手机号的方法
Dec 05 jQuery
jQuery利用FormData上传文件实现批量上传
Dec 04 jQuery
jQuery实现获取当前鼠标位置并输出功能示例
Jan 05 jQuery
jQuery实现的中英文切换功能示例
Jan 11 jQuery
jQuery删除/清空指定元素的所有子节点实例代码
Jul 04 jQuery
jquery实现的分页显示功能示例
Aug 23 jQuery
jQuery实现每日秒杀商品倒计时功能
Sep 06 jQuery
jQuery Raty星级评分插件使用方法实例分析
Nov 25 jQuery
jQuery--遍历操作实例小结【后代、同胞及过滤】
May 22 jQuery
如何解决jQuery 和其他JS库的冲突
Jun 22 jQuery
jquery向后台提交数组的代码分析
Feb 20 #jQuery
jquery实现垂直手风琴导航栏
Feb 18 #jQuery
jQuery表单校验插件validator使用方法详解
Feb 18 #jQuery
jquery传参及获取方式(两种方式)
Feb 13 #jQuery
jQuery实现简易QQ聊天框
Feb 10 #jQuery
jQuery实现简单聊天室
Feb 08 #jQuery
jquery实现点击弹出对话框
Feb 08 #jQuery
You might like
thinkPHP数据查询常用方法总结【select,find,getField,query】
2017/03/15 PHP
php下载远程大文件(获取远程文件大小)的实例
2017/06/17 PHP
PHP+Ajax简单get验证操作示例
2019/03/02 PHP
PHP生成图表pChart的示例解析
2020/07/31 PHP
JavaScript 对Cookie 操作的封装小结
2009/12/31 Javascript
使用JQuery进行跨域请求
2010/01/25 Javascript
jQuery温习篇 强大的JQuery选择器
2010/04/24 Javascript
js实现按一下删除键删除整个单词附demo
2014/09/05 Javascript
JavaScript动态修改背景颜色的方法
2015/04/16 Javascript
JavaScript实现添加、查找、删除元素
2015/07/02 Javascript
JSON字符串转JSON对象
2015/07/31 Javascript
js贪吃蛇网页版游戏特效代码分享(挑战十关)
2015/08/24 Javascript
JS中使用apply、bind实现为函数或者类传入动态个数的参数
2016/04/26 Javascript
Bootstrap表单组件教程详解
2016/04/26 Javascript
基于easyui checkbox 的一些操作处理方法
2017/07/10 Javascript
深入浅析Vue不同场景下组件间的数据交流
2017/08/15 Javascript
mui 打开新窗口的方式总结及注意事项
2017/08/20 Javascript
通过jquery toggleClass()属性制作文章段落更改背景颜色
2018/05/21 jQuery
浅析Vue中拆分视图层代码的5点建议
2019/08/15 Javascript
python的几种开发工具介绍
2007/03/07 Python
Python中set与frozenset方法和区别详解
2016/05/23 Python
详解Python中的from..import绝对导入语句
2016/06/21 Python
tensorflow TFRecords文件的生成和读取的方法
2018/02/06 Python
Python遍历pandas数据方法总结
2018/02/09 Python
Python爬虫框架Scrapy实例代码
2018/03/04 Python
不管你的Python报什么错,用这个模块就能正常运行
2018/09/14 Python
python hashlib加密实现代码
2019/10/17 Python
Python编写一个验证码图片数据标注GUI程序附源码
2019/12/09 Python
使用pandas 将DataFrame转化成dict
2019/12/10 Python
python 串口读取+存储+输出处理实例
2019/12/26 Python
python字符串,元组,列表,字典互转代码实例详解
2020/02/14 Python
在Ubuntu 20.04中安装Pycharm 2020.1的图文教程
2020/04/30 Python
Python实现数字的格式化输出
2020/08/01 Python
西班牙手机之家:Phone House
2018/10/18 全球购物
你所在的项目是如何确定版本号的
2015/12/28 面试题
市场开发与营销专业求职信
2013/12/31 职场文书