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

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>

运行效果:
时间: 2025-01-11 10:42:11

第44天:鼠标移动放大效果的相关文章

CSS3实现图片鼠标悬浮放大效果

.excerpt .focus a img{ -webkit-transition: all ease .3s; transition: all ease .3s }.excerpt .focus a img:hover { -webkit-transform: scale(1.45); transform: scale(1.45); box-shadow: 0px 0px 18px rgba(0,0,0,.5); } 来源:http://www.blear.cn/548.html

浅谈CSS和JQuery实现鼠标悬浮图片放大效果

对于刚刚学习网页前台设计的同学一定对图片的处理非常苦恼,那么这里简单的讲解一下几个图片处理的实例. 以.net为平台,微软的Visual Studio 2013为开发工具,当然前台技术还是采用CSS3和HTML,Java的小伙伴不要绕道~~~ 言归正传,那么我们首先要完成什么样的图片处理呢? 一.CSS3图片的放大 css3中,有一个属性transform,官方的解释是:允许向元素应用2D或3D的转换.这些转换当然就包含旋转.缩放.移动或倾斜了.有兴趣的同学可以继续了解http://www.w3

鼠标拖动虚影效果(拖动的时候使用图片蒙人,但效果不错)

疯狂delphi delphiXE7.XE8.XE10公开课A 群号:58592705 鼠标拖动虚影效果 1 //1.定义消息 2 procedure MYHideMessage(var Msg: tagMSG; var Handled: Boolean); 3 4 //2.执行消息 5 procedure TForm2.MYHideMessage(var Msg: tagMSG; var Handled: Boolean); 6 var 7 pt:TPoint; 8 bit: TBitmap;

_鼠标移动跟随效果

<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>_鼠标移动跟随效果</title> <style> div { width: 50px; height: 50px; border-radius: 50%; position: absolute; text-align: center; font-size: 30px; color: #

基于jquery的鼠标滚动放大缩小图片

一直以来都想写一个图片放大和缩小的小玩意,本来以为会很复杂,这几天自己思考了一下,原来是so easy啊.目前实现的放大缩小,主要时依据鼠标的滚轮触发事件来实现的,废话少说直接上源码. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns

鼠标滑动--水滴效果

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>鼠标滑动--水滴效果</title> <style> *{margin: 0;padding: 0;} body{padding: 100px;} div{width: 50px;height: 50px;background-color: #2

博客园自定义页面风格设计 后续篇(页面设计模式及代码高亮 鼠标点击效果升级)

前言 在之前所写过的博客园自定义页面风格设计篇中,我们已经说明了其中两种风格的页面设计,鼠标图案的修改,公告栏的设置,背景音乐的制作,关于CSS以及用Canvas和requestAnimFrame做动画特效,在本文中我们将教大家制作当前简约的页面制作方法. 只要你们有需求,我会尽量帮助到大家,在此感谢各位广大粉丝的支持和理解,我会尽量做到最好,希望小主们不要吝啬你们的支持和推荐,动动小手顶一顶,非常感谢大家长久的陪伴~~ 全部过程都是在“管理->设置”中完成的,博客皮肤推荐使用Simple Me

UWP 利用Windows.UI.Composition实现简单的放大&#128269;效果

看一下效果先 我这里实现了鼠标进入和退出的效果,当然也可以添加其他的事件,比如获得焦点和失去焦点的. 先随便写一个xaml布局,一个Grid,里面一张图片. <Grid x:Name="GridA" Width="400" Height="240" PointerEntered="Grid_PointerEntered" PointerExited="Grid_PointerExited"> &

css3代码实现的鼠标悬浮按钮效果代码实例

css3代码实现的鼠标悬浮按钮效果代码实例:在css3之前,鼠标悬浮于按钮之上,无非是设置按钮的大小.字体颜色或者背景图片等简单的项目,但是css3的出现,可以让设置变得丰富多彩,下面就是一个css3实现的此效果.代码如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://