用JavaScript中jQuery编写放大镜效果

  1 <!DOCTYPE html>
  2 <html lang="en">
  3
  4 <head>
  5     <meta charset="UTF-8">
  6     <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7     <meta http-equiv="X-UA-Compatible" content="ie=edge">
  8     <title>Document</title>
  9     <style>
 10         #big {
 11             width: 400px;
 12             height: 400px;
 13             border: 1px solid black;
 14             overflow: hidden;
 15             display: none;
 16             position: absolute;
 17             background-color: white;
 18             background-image: url(‘./image/1.bmp‘);
 19             opacity: 0.8;
 20         }
 21
 22         #small {
 23             width: 350px;
 24             height: 350px;
 25             border: 1px solid black;
 26             background-image: url(‘./image/11.bmp‘);
 27         }
 28
 29         #img {
 30             width: 800px;
 31             height: 800px;
 32         }
 33
 34         #div {
 35             width: 175px;
 36             height: 175px;
 37             background-color: blue;
 38             opacity: 0.5;
 39             position: absolute;
 40             display: none;
 41         }
 42     </style>
 43 </head>
 44
 45 <body>
 46
 47     <div id="small">
 48         <div id="div"></div>
 49         <!-- <img src="./image/11.bmp" /> -->
 50     </div>
 51     <div id="img">
 52         <div id="big">
 53             <!-- <img src="./image/1.bmp" /> -->
 54         </div>
 55     </div>
 56     <script src="./jquery-1.12.4.min.js"></script>
 57     <script>
 58         //当鼠标在图片上移动时的操作
 59         $(window).on(‘load‘, function () {
 60             $("#small").on(‘mouseenter‘, function () {
 61                 let position = $(this).position();//获取small偏移
 62                 $("#big").css({//大的图片距离小的图片的距离
 63                     top: position.top,
 64                     left: position.left + $(this).width() + 80
 65                 }).show();
 66             })
 67
 68             $("#small").on(‘mousemove‘, function (e) {//鼠标在图片上移动
 69                 let left1 =e.pageX-$(this).offset().left;
 70                 let top1=e.pageY-$(this).offset().top;
 71                 left1=left1-80<0?90:left1;
 72                 top1=top1-80<0?90:top1;
 73                 left1=left1-80>175?263:left1;
 74                 top1=top1-80>175?263:top1;
 75                 $(‘#div‘).css({//小方块显示
 76                     display: "block",
 77                     left:left1-80,
 78                     top:top1 -80
 79                 })
 80
 81                 let position = $(this).position();
 82                 //第一种
 83                 //计算鼠标在图片上面的偏移坐标
 84                 // let X = e.pageX - position.left;
 85                 // let Y = e.pageY - position.top;
 86                 // //定位放大镜的距离
 87                 // $("#big").scrollTop(Y-100).scrollLeft(X-100);
 88
 89                 // //第二种
 90                 let x =$("#div").position().left/350*800;
 91                 let y =$("#div").position().top/350*800;
 92                 $("#big").css({
 93                     backgroundPosition:`-${x}px -${y}px`
 94                 })
 95
 96
 97             });
 98             $("#small").on(‘mouseleave‘, function () {//鼠标移出时
 99                 $("#big").css({
100                     display: "none"
101                 })
102                 $(‘#div‘).css({//小方块显示
103                     display: "none",
104
105                 })
106             })
107
108             // console.log($.unique($.merge([1,2],[2,3,4])))
109         })
110     </script>
111 </body>
112
113 </html>

原文地址:https://www.cnblogs.com/yangkaiming/p/9216977.html

时间: 2024-10-12 22:06:06

用JavaScript中jQuery编写放大镜效果的相关文章

Javascript:实操---放大镜效果(2)

CSS部分<style type="text/css">/* body{    padding: 10px;} */#minWrap{    width: 350px;    height: 350px;    border: 1px solid #ccc;    position: relative;}    #slider{    height: 175px;    width: 175px;    background-color: yellow;    opacit

Javascript:实操---放大镜效果

CSS部分<style type="text/css">/* body{    padding: 10px;} */#minWrap{    width: 350px;    height: 350px;    border: 1px solid #ccc;    position: relative;}    #slider{    height: 175px;    width: 175px;    background-color: yellow;    opacit

jquery图片放大镜效果制作变焦镜头图片放大查看

jquery图片放大镜效果制作变焦镜头图片放大查看 http://www.17sucai.com/pins/demoshow/8511

使用jquery实现放大镜效果

实现原理 首先,我们讲解一下放大镜效果的实现方式: 方法一:准备一张高像素的大图,当鼠标放到原图上,加载显示大图的对应位置. 方法二:对原图片进行放大,也就是调整原图的长和宽. 上面我们介绍了通过两种方式实现放大镜效果,接下来,我们将以上的两种方式应用到我们的jQuery插件中. 首先,我们需要一个img元素显示原图对象,还需要一个容器作为显示框:显示框里面存放大图对象.当鼠标移动到原图上时,通过对大图进行绝对定位来显示对应的部位,实现类似放大镜的效果. 接下来,让我们定义Index.html页

jquery实现放大镜效果

放大镜效果,被广泛的应用于商城的商品展示,其效果相比大家都不陌生.其原理也不是很难,那么今天就实现下放大镜效果!? 主要的CSS样式:溢出隐藏overflow:hidden,隐藏图层display:none,定位position ? 用的主要事件:鼠标移动事件mousemove()和鼠标hover() 效果图: 这里需要找2长比例合适的图片,效果会更好 html部分: ? 这里需要使用2长一定比例的图片,在页面中按比例设置2个div中来存放这2长图片,并在小图片的div中按照一定的比例设一个用来

用jquery实现放大镜效果

----css代码--- *{margin:0;padding:0;} .showimg{position:relative;width:450px;height:420px;border:1px solid #f5f5f5;} .show{width:450px;height:420px; } .product-img img{margin:0 3px;width:60px;height:60px;border:2px solid #FFF; } .showbox{position:absol

javascript中全屏滑动效果实现

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <style> * { margin: 0; padding: 0; } ul, ol { list-style: none; } html, body, ul, ul li { width: 100%; height: 100

关于jQuery中实现放大镜效果

1.1.1 摘要 相信大家都见过或使用过放大镜效果,甚至实现过该效果,它一般应用于放大查看商品图片,一些电商网站(例如:凡客,京东商城,阿里巴巴等)都有类似的图片查看效果. 在接下来的博文中,我们将向大家介绍通过jQuery实现放大镜效果. 目录 实现原理 mousemove事件 相对坐标 background-position属性 mousewheel事件 1.1.2 正文 实现原理 首先,我们讲解一下放大镜效果的实现方式: 方法一:准备一张高像素的大图,当鼠标放到原图上,加载显示大图的对应位

利用argument对象在javaScript中实现重载(overload)

一些概念: 重载(overload): 什么是: 相同函数名,不同参数列表的多个函数,在调用时,可根据传入参数的不同,自动选择对应的函数调用! 为什么: 减轻调用者的负担,一个函数名,可执行多种操作 何时: 一项任务,根据不同的参数,执行不同的操作流程时 如何: js语法不支持重载效果 变通: 所有函数对象内,都自动内建了一个 其功能实现情况如下: function pay(){ console.log("微信支付") ; } function pay(num){ console.lo