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实现简单的滑动导航代码(移动端)
May 22 jQuery
各种选择框jQuery的选中方法(实例讲解)
Jun 27 jQuery
jQuery层级选择器_动力节点节点Java学院整理
Jul 04 jQuery
使用jQuery实现动态添加小广告
Jul 11 jQuery
基于jquery实现多选下拉列表
Aug 02 jQuery
jquery动态赋值id与动态取id方法示例
Aug 21 jQuery
jQuery实现的鼠标滚轮控制图片缩放功能实例
Oct 14 jQuery
vue-cli webpack 引入jquery的方法
Jan 10 jQuery
jquery在启动页面时,自动加载数据的实例
Jan 22 jQuery
详解如何使用webpack打包多页jquery项目
Feb 01 jQuery
js/jquery遍历对象和数组的方法分析【forEach,map与each方法】
Feb 27 jQuery
JQuery事件委托(适用于给动态生成的脚本元素添加事件)
Feb 01 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
Session保存到数据库的php类分享
2011/10/24 PHP
php示例详解Constructor Prototype Pattern 原型模式
2015/10/15 PHP
thinkPHP多语言切换设置方法详解
2016/11/11 PHP
JavaScript 在线压缩和格式化收藏
2009/01/16 Javascript
中文输入法不触发onkeyup事件的解决办法
2014/07/09 Javascript
JS实现的不规则TAB选项卡效果代码
2015/09/18 Javascript
深入解析JavaScript框架Backbone.js中的事件机制
2016/02/14 Javascript
JavaScript中对JSON对象的基本操作示例
2016/05/21 Javascript
基于jQuery的checkbox全选问题分析
2016/11/18 Javascript
微信公众平台开发教程(六)获取个性二维码的实例
2016/12/02 Javascript
angular中不同的组件间传值与通信的方法
2017/11/04 Javascript
vue.js 实现输入框动态添加功能
2018/06/25 Javascript
Javascript基于OOP实实现探测器功能代码实例
2020/08/26 Javascript
[03:16]DOTA2完美大师赛小组赛精彩集锦
2017/11/22 DOTA
[53:10]完美世界DOTA2联赛决赛日 FTD vs GXR 第二场 11.08
2020/11/11 DOTA
Python在Windows和在Linux下调用动态链接库的教程
2015/08/18 Python
Python中多线程的创建及基本调用方法
2016/07/08 Python
python实现二分查找算法
2017/09/21 Python
python中如何正确使用正则表达式的详细模式(Verbose mode expression)
2017/11/08 Python
Python向Excel中插入图片的简单实现方法
2018/04/24 Python
Django 使用Ajax进行前后台交互的示例讲解
2018/05/28 Python
解决Opencv+Python cv2.imshow闪退问题
2020/04/24 Python
python定时截屏实现
2020/11/02 Python
AmazeUI 列表的实现示例
2020/08/17 HTML / CSS
复古风格的女装和装饰品:ModCloth
2017/12/29 全球购物
Myprotein丹麦官网:欧洲第一运动营养品牌
2019/04/15 全球购物
澳大利亚优惠网站:Deals.com.au
2019/07/02 全球购物
斯洛伐克家具和时尚装饰品购物网站:Butlers.sk
2019/09/08 全球购物
卫校毕业生自我鉴定
2013/10/31 职场文书
护士自我介绍信
2014/01/13 职场文书
工作决心书
2014/03/11 职场文书
聋哑人盗窃罪辩护词
2015/05/21 职场文书
如何才能写好调研报告?
2019/07/03 职场文书
教你使用pyinstaller打包Python教程
2021/05/27 Python
php去除deprecated的实例方法
2021/11/17 PHP
Nebula Graph解决风控业务实践
2022/03/31 MySQL