java语言

JavaScript简单实现放大镜效果代码

时间:2025-02-21 02:21:56 java语言 我要投稿
  • 相关推荐

JavaScript简单实现放大镜效果代码

  导语:JavaScript简单实现放大镜效果代码是有百分网小编给大家提供的,大家可以参考阅读,更多详情请关注应届毕业生考试网。

  <html>

  <head>

  <meta charset="UTF-8">

  <title></title>

  <style type="text/css">

  * {

  margin: 0;

  padding: 0;

  }

  img{

  vertical-align: top;

  }

  .fdj {

  width: 350px;

  height: 350px;

  position: relative;

  margin: 100px auto;

  border: 1px solid gainsboro;

  }

  .small {

  position: relative;

  }

  .small img {

  width: 350px;

  }

  .mask {

  width: 100px;

  height: 100px;

  background: rgba(255, 255, 0, 0.4);

  position: absolute;

  left: 0;

  top: 0;

  cursor: move;

  display: none;

  }

  .big {

  position: absolute;

  top: 0;

  left: 360px;

  width: 500px;

  height: 500px;

  border: 1px solid gainsboro;

  overflow: hidden;

  display: none;

  }

  .big img{

  position: absolute;

  left: 0;

  top: 0;

  }

  </style>

  </head>

  <body>

  <p class="fdj">

  <p class="small">

  <img src="http://cdn.attach.qdfuns.com/notes/pics/201702/08/162503mw0fawb5b02va22i.jpg" />

  <p class="mask"></p>

  </p>

  <p class="big">

  <img src="http://cdn.attach.qdfuns.com/notes/pics/201702/08/162503mw0fawb5b02va22i.jpg" />

  </p>

  </p>

  </body>

  <script type="text/javascript">

  var fdj = document.querySelector('.fdj') // 获得最大的盒子

  var small = document.querySelector('.small'); //获取小图片盒子

  var big = document.querySelector('.big'); //获取大图片盒子

  var bigs = big.children[0] //大图片

  var smalls = small.children[0] //小图片

  var mask = small.children[1]; //遮罩

  //鼠标移入小图片盒子

  small.onmouseover = function() {

  //鼠标移入图片盒子将遮罩与大图片显示

  mask.style.display = 'block';

  big.style.display = ' block';

  };

  //鼠标移出小图片盒子

  small.onmouseout = function() {

  //鼠标移出小图片盒子将遮罩与大图片隐藏

  mask.style.display = 'none';

  big.style.display = 'none';

  };

  var x=0;

  var y=0;

  //鼠标在小图片上移动时

  small.onmousemove = function(ev) {

  var ev = event || window.event;

  //让鼠标在遮罩正中

  //鼠标X坐标与Y坐标

  x = ev.clientX -this.offsetParent.offsetLeft- mask.offsetWidth / 2 ;

  y = ev.clientY -this.offsetParent.offsetTop- mask.offsetHeight / 2 ;

  //将遮罩限制在小图片盒子中

  if (x<0) {

  x=0;

  }else if(x>small.offsetWidth-mask.offsetWidth){

  x = small.offsetWidth-mask.offsetWidth;

  }

  if(y<0){

  y=0;

  }else if(y>small.offsetHeight-mask.offsetHeight){

  y= small.offsetHeight-mask.offsetHeight

  }

  mask.style.left = x + 'px';

  mask.style.top = y + 'px';

  //大图与小图的比例

  /*var scalX = bigs.offsetWidth/small.offsetWidth;

  var scalY = bigs.offsetHeight/small.offsetHeight;*/

  var scalX = x/(small.offsetWidth-mask.offsetWidth);

  var scalY = y/(small.offsetHeight-mask.offsetHeight);

  bigs.style.left = -(x*scalX)+'px';

  bigs.style.top = -(y*scalY)+'px';

  };

  </script>

  </html>

【JavaScript简单实现放大镜效果代码】相关文章:

javascript实现小球的自由移动代码08-26

java实现gif动画效果代码参考07-23

Javascript实现全选并赋值给文本框代码实例08-24

如何实现JavaScript的DIV块来回滚动效果06-30

如何使用javascript实现瀑布流及效果加载06-17

Java 队列实现原理及简单实现代码09-13

CSS实现自适应宽度的菜单按钮效果代码09-22

CSS实现的中英文双语菜单效果代码06-21

Javascript到PHP加密通讯的简单实现07-23