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中的deferred对象和extend方法详解
May 08 jQuery
jQueryeasyui 中如何使用datetimebox 取两个日期间相隔的天数
Jun 13 jQuery
基于jQuery封装的分页组件
Jun 26 jQuery
jQuery之动画ajax事件(实例讲解)
Jul 18 jQuery
jQuery Collapse1.1.0折叠插件简单使用
Aug 28 jQuery
Django中使用jquery的ajax进行数据交互的实例代码
Oct 15 jQuery
jQuery中的类名选择器(.class)用法简单示例
May 14 jQuery
jQuery动态移除与增加onclick属性的方法详解
Jun 07 jQuery
jQuery 操作 HTML 元素和属性的方法
Nov 12 jQuery
jQuery each和js forEach用法比较
Feb 27 jQuery
Jquery 动态添加元素并添加点击事件实现过程解析
Oct 12 jQuery
jquery实现图片放大镜效果
Dec 23 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的FTP学习(三)
2006/10/09 PHP
php指定函数参数默认值示例代码
2013/12/04 PHP
浅析iis7.5安装配置php环境
2015/05/10 PHP
laravel自定义分页效果
2017/07/23 PHP
PHP内置函数生成随机数实例
2019/01/18 PHP
PHP INT类型在内存中占字节详解
2019/07/20 PHP
JS面向对象、prototype、call()、apply()
2009/05/14 Javascript
JS 获取span标签中的值的代码 支持ie与firefox
2009/08/24 Javascript
wap手机图片滑动切换特效无css3元素js脚本编写
2014/07/28 Javascript
使用javascript获取页面名称
2014/12/23 Javascript
微信+angularJS的SPA应用中用router进行页面跳转,jssdk校验失败问题解决
2016/09/09 Javascript
js 中文汉字转Unicode、Unicode转中文汉字、ASCII转换Unicode、Unicode转换ASCII、中文转换
2016/12/06 Javascript
jQuery.cookie.js实现记录最近浏览过的商品功能示例
2017/01/23 Javascript
js调用刷新界面的几种方式
2017/05/03 Javascript
利用Blob进行文件上传的完整步骤
2018/08/02 Javascript
玩转Koa之koa-router原理解析
2018/12/29 Javascript
js中的深浅拷贝问题简析
2019/05/10 Javascript
vue中使用element ui的弹窗与echarts之间的问题详解
2019/10/25 Javascript
小程序自定义模板实现吸顶功能
2020/01/08 Javascript
Python isinstance判断对象类型
2008/09/06 Python
wxpython中利用线程防止假死的实现方法
2014/08/11 Python
使用Python对Csv文件操作实例代码
2017/05/12 Python
Python编程使用*解包和itertools.product()求笛卡尔积的方法
2017/12/18 Python
Python实现KNN(K-近邻)算法的示例代码
2019/03/05 Python
python的内存管理和垃圾回收机制详解
2019/05/18 Python
python中struct模块之字节型数据的处理方法
2019/08/27 Python
css和css3弹性盒模型实现元素宽度(高度)自适应
2019/05/15 HTML / CSS
JSF面试题:Jsf中导航的标签是什么
2013/04/20 面试题
售后服务承诺书范文
2014/03/26 职场文书
难忘的一课教学反思
2014/04/30 职场文书
2014年平安建设工作总结
2014/11/19 职场文书
邹越演讲观后感
2015/06/15 职场文书
致三级跳运动员加油稿
2015/07/21 职场文书
护士年终工作总结不会写?各科护士模板总结
2020/01/02 职场文书
python实现剪贴板的操作
2021/07/01 Python
联想win10摄像头打不开怎么办?win10笔记本摄像头打不开解决办法
2022/04/08 数码科技