jquery实现的放大镜效果示例

 更新时间:2020年02月24日 11:49:10   作者:巴啦啦小能量  
这篇文章主要介绍了jquery实现的放大镜效果,结合实例形式分析了jQuery放大镜插件shoplistxq.js的定义与使用相关操作技巧,需要的朋友可以参考下

本文实例讲述了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表格(table)操作技巧汇总》、《jQuery拖拽特效与技巧总结》、《jQuery扩展技巧总结》、《jQuery常见经典特效汇总》及《jquery选择器用法总结

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

相关文章

  • jQuery实现的淡入淡出二级菜单效果代码

    jQuery实现的淡入淡出二级菜单效果代码

    这篇文章主要介绍了jQuery实现的淡入淡出二级菜单效果代码,涉及jQuery中fadeIn及fadeOut的相关使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-09-09
  • jQuery qrcode生成二维码的方法

    jQuery qrcode生成二维码的方法

    现在二维码越来越流行,很多网页都会有个二维码,扫描后可通过手机浏览。jquery-qrcode是一个能够在浏览器端生成二维码的jquery插件,下面通过本文给大家介绍jQuery qrcode生成二维码的方法,需要的朋友参考下
    2016-04-04
  • jQuery弹出框代码封装DialogHelper

    jQuery弹出框代码封装DialogHelper

    这篇文章主要介绍了jQuery弹出框代码封装DialogHelper的方法,需要的朋友可以参考下
    2015-01-01
  • $.get获取一个文件的内容示例代码

    $.get获取一个文件的内容示例代码

    使用$.get可以获取一个文件的内容,实现很简单,示例如下,喜欢的朋友可以参考下
    2013-09-09
  • jquery实现将获取的颜色值转换为十六进制形式的方法

    jquery实现将获取的颜色值转换为十六进制形式的方法

    这篇文章主要介绍了jquery实现将获取的颜色值转换为十六进制形式的方法,包含了完整的实例与关键代码的注释说明,并附带了所需知识点的参考文章地址,具有一定的参考借鉴价值,需要的朋友可以参考下
    2014-12-12
  • Jquery插件写法笔记整理

    Jquery插件写法笔记整理

    大部分jQuery插件都是这种类型的插件,由于这种插件是将对象方法封装起来,在jQuery选择器获取jQuery对象过程中进行操作,从而发挥jQuery强大的选择器优势
    2012-09-09
  • 推荐17个优美新鲜的jQuery的工具提示插件

    推荐17个优美新鲜的jQuery的工具提示插件

    在web开发当中,工具提示条对于完善web网站的用户体验至关重要。title属性通常是用来帮助用户了解显示链接的信息
    2012-09-09
  • jquery插件jSignature实现手动签名

    jquery插件jSignature实现手动签名

    在IE7~IE8这种不支持HTML5的浏览器上,是利用Flash嵌入的方式实现的签名处理,在支持的HTML5的浏览器上默认采用canvas标签处理签名,可以生成 PNG格式、SVG格式的签名图片。非常适合在IPAD等移动客户端上实现手写签名的,该插件基于JQuery
    2015-05-05
  • jquery动态创建div与input的实例代码

    jquery动态创建div与input的实例代码

    下面小编就为大家带来一篇jquery动态创建div与input的实例代码。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-10-10
  • jQuery validate+artdialog+jquery form实现弹出表单思路详解

    jQuery validate+artdialog+jquery form实现弹出表单思路详解

    在项目需求中有这样一功能:在页面弹出一个form表单,ajax无刷新提交表单,表单需通过验证。下面小编给大家介绍通过jQuery validate+artdialog+jquery form实现弹出表单思路详解,需要的朋友参考下吧
    2016-04-04

最新评论