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 相关文章推荐
jQuery实现动态生成表格并为行绑定单击变色动作的方法
Apr 17 jQuery
jQuery实现节点的追加、替换、删除、复制功能示例
Jul 11 jQuery
使用jQuery实现鼠标点击左右按钮滑动切换
Aug 04 jQuery
jQuery Collapse1.1.0折叠插件简单使用
Aug 28 jQuery
jQuery选择器之属性过滤选择器详解
Sep 28 jQuery
javascript+jQuery实现360开机时间显示效果
Nov 03 jQuery
jQuery EasyUI 折叠面板accordion的使用实例(分享)
Dec 25 jQuery
jQuery 防止相同的事件快速重复触发方法
Feb 08 jQuery
jQuery实现图片上传预览效果功能完整实例【测试可用】
May 28 jQuery
jQuery使用$.extend(true,object1, object2);实现深拷贝对象的方法分析
Mar 06 jQuery
jQuery+Ajax+js实现请求json格式数据并渲染到html页面操作示例
Jun 02 jQuery
jQuery实现放大镜案例
Oct 19 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
用php来检测proxy
2006/10/09 PHP
php class中public,private,protected的区别以及实例分析
2013/06/18 PHP
详解PHP中的mb_detect_encoding函数使用方法
2015/08/18 PHP
php mysql procedure实现获取多个结果集的方法【基于thinkPHP】
2016/11/09 PHP
thinkPHP5使用Rabc实现权限管理
2019/08/28 PHP
JavaScript 基于原型的对象(创建、调用)
2009/10/16 Javascript
jQuery实现切换页面布局使用介绍
2011/10/09 Javascript
关于javascript模块加载技术的一些思考
2014/11/28 Javascript
JavaScript按值删除数组元素的方法
2015/04/24 Javascript
JavaScript中操作字符串之localeCompare()方法的使用
2015/06/06 Javascript
Jquery操作Ajax方法小结
2015/11/29 Javascript
jquery实现图片预加载
2015/12/25 Javascript
js实现可以点击收缩或张开的悬浮窗
2017/09/18 Javascript
JavaScript实现图片懒加载的方法分析
2018/07/05 Javascript
Element Carousel 走马灯的具体实现
2020/07/26 Javascript
Python使用cookielib模块操作cookie的实例教程
2016/07/12 Python
Python基于回溯法子集树模板解决找零问题示例
2017/09/11 Python
python消费kafka数据批量插入到es的方法
2018/12/27 Python
对python pandas读取剪贴板内容的方法详解
2019/01/24 Python
Python 编程速成(推荐)
2019/04/15 Python
python使用tkinter库实现五子棋游戏
2019/06/18 Python
基于python的Paxos算法实现
2019/07/03 Python
Python 使用指定的网卡发送HTTP请求的实例
2019/08/21 Python
Python通过format函数格式化显示值
2020/10/17 Python
python网络爬虫实现发送短信验证码的方法
2021/02/25 Python
市场营销专业个人自荐信格式
2013/09/21 职场文书
自我鉴定怎么写
2014/01/12 职场文书
村委会换届选举方案
2014/05/03 职场文书
关于雷锋的演讲稿
2014/05/10 职场文书
服务承诺口号
2014/05/22 职场文书
汽车广告策划方案
2014/05/31 职场文书
国庆庆典邀请函
2015/02/02 职场文书
幼儿教师年度个人总结
2015/02/05 职场文书
幼儿园三八妇女节活动总结
2015/02/06 职场文书
关于使用Redisson订阅数问题
2022/01/18 Redis
CentOS7和8下安装Maven3.8.4
2022/04/07 Servers