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 相关文章推荐
Django1.7+JQuery+Ajax验证用户注册集成小例子
Apr 08 jQuery
jQuery插件FusionCharts绘制2D双折线图效果示例【附demo源码】
Apr 14 jQuery
jQuery手风琴的简单制作
May 12 jQuery
jQuery选择器_动力节点Java学院整理
Jul 05 jQuery
使用jQuery实现购物车结算功能
Aug 15 jQuery
jQuery模拟爆炸倒计时功能实例代码
Aug 21 jQuery
jQuery中可见性过滤器简单用法示例
Mar 31 jQuery
jQuery中的$是什么意思及 $. 和 $().的区别
Apr 20 jQuery
jQuery的Ajax接收java返回数据方法
Aug 11 jQuery
jQuery实现的3D版图片轮播示例【滑动轮播】
Jan 18 jQuery
JQuery事件委托原理与用法实例分析
May 13 jQuery
jQuery+PHP+Ajax实现动态数字统计展示功能
Dec 25 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
一个没有MYSQL数据库支持的简易留言本的编写
2006/10/09 PHP
PHP 向右侧拉菜单实现代码,测试使用中
2009/11/03 PHP
php数据库密码的找回的步骤
2011/01/12 PHP
header跳转和include包含问题详解
2012/09/08 PHP
PHP中使用GD库创建圆形饼图的例子
2014/11/19 PHP
WordPress中获取所使用的模板的页面ID的简单方法
2015/12/31 PHP
一个非常实用的php文件上传类
2017/07/04 PHP
Yii2框架类自动加载机制实例分析
2018/05/02 PHP
基于JS如何实现给字符加千分符(65,541,694,158)
2016/08/03 Javascript
详解js的事件处理函数和动态创建html标记方法
2016/12/16 Javascript
vue.js的手脚架vue-cli项目搭建的步骤
2017/08/30 Javascript
使用JS实现图片轮播的实例(前后首尾相接)
2017/09/21 Javascript
js中getBoundingClientRect的作用及兼容方案详解
2018/02/01 Javascript
angularjs实现table增加tr的方法
2018/02/27 Javascript
解决Nodejs全局安装模块后找不到命令的问题
2018/05/15 NodeJs
Vue兼容ie9的问题全面解决方案
2018/06/19 Javascript
Vue中 v-if 和v-else-if页面加载出现闪现的问题及解决方法
2018/10/12 Javascript
详解React项目中碰到的IE问题
2019/03/14 Javascript
150行Node.js实现的dns代理工具
2019/08/02 Javascript
layui 解决form表单点击无反应的问题
2019/10/25 Javascript
vue中实现高德定位功能
2019/12/03 Javascript
[01:02:32]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD BO3 第二场 2月26日
2021/03/11 DOTA
python基础教程之常用运算符
2014/08/29 Python
python使用正则表达式匹配字符串开头并打印示例
2017/01/11 Python
Python实现运行其他程序的四种方式实例分析
2017/08/17 Python
Python基础语言学习笔记总结(精华)
2017/11/14 Python
Python3 关于pycharm自动导入包快捷设置的方法
2019/01/16 Python
Python OpenCV之图片缩放的实现(cv2.resize)
2019/06/28 Python
详解Python IO编程
2020/07/24 Python
详解CSS3 用border写 空心三角箭头 (两种写法)
2017/09/29 HTML / CSS
浅谈基于HTML5的在线视频播放方案
2016/02/18 HTML / CSS
美国首屈一指的高品质珠宝设计师和零售商:Allurez
2018/01/23 全球购物
华三通信H3C面试题
2015/05/15 面试题
护理不良事件检讨书
2014/02/06 职场文书
大学班级学风建设方案
2014/05/01 职场文书
java实现对Hadoop的操作
2021/07/01 Java/Android