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正则表达式在页面验证url网址输入是否正确
Apr 04 jQuery
jQuery为某个div加入行样式
Jun 09 jQuery
jQuery.form.js的使用详解
Jun 14 jQuery
jQuery条件分页 代替离线查询(附代码)
Aug 17 jQuery
使用jQuery实现简单的tab框实例
Aug 22 jQuery
jquery如何实现点击空白处隐藏元素
Dec 05 jQuery
jQuery超简单遮罩层实现方法示例
Sep 06 jQuery
学习jQuery中的noConflict()用法
Sep 28 jQuery
jquery.pager.js实现分页效果
Jul 29 jQuery
JS秒杀倒计时功能完整实例【使用jQuery3.1.1】
Sep 03 jQuery
jQuery操作元素追加内容示例
Jan 10 jQuery
jQuery zTree如何改变指定节点文本样式
Oct 16 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数组函数序列之array_splice() - 在数组任意位置插入元素
2011/11/07 PHP
php curl获取网页内容(IPV6下超时)的解决办法
2013/07/16 PHP
CodeIgniter框架URL路由总结
2014/09/03 PHP
PHP简单实现数字分页功能示例
2016/08/24 PHP
Laravel 6 将新增为指定队列任务设置中间件的功能
2019/08/06 PHP
PHP函数用法详解【初始化、嵌套、内置函数等】
2020/06/02 PHP
Javascript入门学习资料收集整理篇
2008/07/06 Javascript
利用js动态添加删除table行的示例代码
2013/12/16 Javascript
基于JavaScript实现高德地图和百度地图提取行政区边界经纬度坐标
2016/01/22 Javascript
JavaScript中setter和getter方法介绍
2016/07/11 Javascript
AngularJS基础 ng-model 指令详解及示例代码
2016/08/02 Javascript
BootStrap组件之进度条的基本用法
2017/01/19 Javascript
BootStrap 图片样式、辅助类样式和CSS组件的实例详解
2017/01/20 Javascript
bootstrap 模态框(modal)实现水平垂直居中显示
2017/01/23 Javascript
javascript实现多张图片左右无缝滚动效果
2017/03/22 Javascript
在小程序中使用腾讯视频插件播放教程视频的方法
2018/07/10 Javascript
jQuery实现为动态添加的元素绑定事件实例分析
2018/09/07 jQuery
js实现文件上传功能 后台使用MultipartFile
2018/09/08 Javascript
小程序组件之仿微信通讯录的实现代码
2018/09/12 Javascript
解决vue项目中遇到 Cannot find module ‘chalk‘ 报错的问题
2020/11/05 Javascript
[00:33]DOTA2上海特级锦标赛 CDEC战队宣传片
2016/03/04 DOTA
[00:52]DOTA2齐天大圣预告片
2016/08/13 DOTA
python中定义结构体的方法
2013/03/04 Python
详解Python当中的字符串和编码
2015/04/25 Python
Python3.6安装及引入Requests库的实现方法
2018/01/24 Python
python修改list中所有元素类型的三种方法
2018/04/09 Python
python中dict()的高级用法实现
2019/11/13 Python
使用Python实现批量ping操作方法
2020/05/06 Python
python实现xml转json文件的示例代码
2020/12/30 Python
美国精品家居用品网站:US-Mattress
2016/08/24 全球购物
介绍下Lucene建立索引的过程
2016/03/02 面试题
素质教育标语
2014/06/27 职场文书
驻村工作先进事迹
2014/08/14 职场文书
教师对照四风自我剖析材料
2014/09/30 职场文书
MySQL中datetime时间字段的四舍五入操作
2021/10/05 MySQL
Nginx如何获取自定义请求header头和URL参数详解
2022/07/23 Servers