第44天:鼠标移动放大效果

简介: 1、鼠标移动放大效果 1 DOCTYPE html> 2 3 4 5 鼠标移动放大效果 6 7 .box{ 8 width: 350px; 9 height: 350...

1、鼠标移动放大效果

  1 <!DOCTYPE html>
  2 <html lang="en">
  3 <head>
  4     <meta charset="UTF-8">
  5     <title>鼠标移动放大效果</title>
  6     <style>
  7         .box{
  8             width: 350px;
  9             height: 350px;
 10             position: relative;
 11             margin: 100px auto;
 12             margin-left: 175px;
 13         }
 14         .box .small{
 15             width: 350px;
 16             height: 350px;
 17             border:1px solid #c1c1c1;
 18             position: absolute;
 19             left: 0;
 20             top:0;
 21             cursor: move;
 22         }
 23         .box .big{
 24             width: 450px;
 25             height: 450px;
 26             border: 1px solid #c1c1c1;
 27             position: absolute;
 28             left:360px;
 29             top:0;
 30             overflow: hidden;
 31             display: none;
 32         }
 33         .mask{
 34             width: 100px;
 35             height: 100px;
 36             background: rgba(255,255,0,0.4);
 37             position: absolute;
 38             top:0;
 39             left:0;
 40             display: none;
 41             cursor: move;
 42         }
 43         .big img{
 44             position: absolute;
 45             top:0;
 46             left:0;
 47         }
 48     </style>
 49 </head>
 50 <body>
 51     <div class="box" id="box">
 52         <div class="small">
 53             <img src="images/001.jpg" alt="">
 54             <div class="mask"></div>
 55         </div>
 56         <div class="big">
 57             <img src="images/0001.jpg" alt="">
 58         </div>
 59     </div>
 60 </body>
 61 </html>
 62 <script>
 63     var box=document.getElementById("box");
 64     var small=box.children[0];
 65     var big=box.children[1];
 66     var mask=small.children[1];
 67     var bigImg=big.children[0];//大盒子里的图片
 68     small.onmouseover=function(){//鼠标移入
 69         mask.style.display="block";
 70         big.style.display="block";
 71     }
 72     small.onmouseout=function(){//鼠标离开
 73         mask.style.display="none";
 74         big.style.display="none";
 75     }
 76 
 77     var x=0;
 78     var y=0;
 79     small.onmousemove=function(event){
 80         var event=event||window.event;
 81         //鼠标移动的x值=鼠标的位置-大盒子左距-遮罩宽度的一半
 82         var x=event.clientX-this.offsetParent.offsetLeft-mask.offsetWidth/2;
 83         var y=event.clientY-this.offsetParent.offsetTop-mask.offsetHeight/2;
 84         //控制鼠标只能在盒子里面移动
 85         if(x<0){
 86             x=0;
 87         }else if(x>small.offsetWidth-mask.offsetWidth){
 88             x=small.offsetWidth-mask.offsetWidth;
 89         }
 90         if(y<0){
 91             y=0;
 92         }else if(y>small.offsetHeight-mask.offsetHeight){
 93             y=small.offsetHeight-mask.offsetHeight;
 94         }
 95         mask.style.left=x+"px";
 96         mask.style.top=y+"px";
 97         
 98         //大盒子移动的距离=小盒子移动距离*大盒子和小盒子的比例数
 99         bigImg.style.left=-x*big.offsetWidth/small.offsetWidth+"px";
100         bigImg.style.top=-y*big.offsetHeight/small.offsetHeight+"px";
101     }
102 </script>

运行效果:

 

相关文章
|
16天前
ThreeJs的场景实现鼠标拖动旋转控制
这篇文章介绍了如何在Three.js中实现通过鼠标拖动来旋转场景中的模型,并提供了实现这一功能的代码示例。
26 0
|
3月前
|
前端开发 C++
css 鼠标悬浮显示放大图片 vs 鼠标点击显示放大图片
css 鼠标悬浮显示放大图片 vs 鼠标点击显示放大图片
41 0
|
5月前
鼠标不同方位移入特效
鼠标不同方位移入特效
|
11月前
滚轮缩放
滚轮缩放
38 0
LabVIEW鼠标滚轮实现波形放大缩小(zoom)功能
实现功能:将鼠标放在波形图曲线上,滚轮可以实现波形放大缩小功能。 代码思想:注册鼠标滚轮事件,滚轮时改变波形图横纵坐标最大值和最小值。
141 0
LabVIEW操作鼠标滚轮放大/缩小图像
之前分享过一篇关于LabVIEW采集鼠标、键盘数据的文章:LabVIEW采集鼠标、键盘数据,本篇博文将分享一个关于鼠标滚轮的有意思小技巧:操作鼠标滚轮来放大和缩小图片。
|
Java
swing中一些常见的鼠标事件(鼠标形状的改变、鼠标接近、按下(图标的切换)、鼠标接近、离开(字体颜色的改变)、鼠标拖拽等)还有系统托盘+对话框
swing中一些常见的鼠标事件(鼠标形状的改变、鼠标接近、按下(图标的切换)、鼠标接近、离开(字体颜色的改变)、鼠标拖拽等)还有系统托盘+对话框
474 0
swing中一些常见的鼠标事件(鼠标形状的改变、鼠标接近、按下(图标的切换)、鼠标接近、离开(字体颜色的改变)、鼠标拖拽等)还有系统托盘+对话框
鼠标控制物体旋转、移动、缩放(Unity3D)
Unity3D对于鼠标操作物体的旋转、移动、缩放的功能点使用的比较多。 今天就分享如何使用Unity实现鼠标对于物体的旋转、移动、缩放。