当前位置:首页 > 开发教程 > js/jQuery教程 >

JavaScript实现淘宝网图片的局部放大功能

时间:2022-05-16 17:30 来源:未知 作者:不要迷恋爸 收藏

这篇文章主要为大家详细介绍了JavaScript实现淘宝网图片的局部放大功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了JavaScript实现淘宝网图片的局部放大的具体代码,供大家参考,具体内容如下

要实现的效果如下:

JavaScript实现淘宝网图片的局部放大功能

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>demo1</title>
  <style type="text/css">
    *{
      margin: 0;
      padding: 0;
    }
    .box{
      position: relative;
      width: 300px;
      height: 200px;
      background: url("./JS封面.jpg");
      /*设置背景图尺寸大小*/
      background-size: 300px 200px;
    }
    .slider{
      position: absolute;
      width: 100px;
      height: 100px;
      background: black;
      /*设置透明度0~1,0是全透明。*/
      opacity: 0.3;
    }
    .small{
      position: absolute;
      width: 100px;
      height:100px;
      background: url('./JS封面.jpg');
      top: 0px;
      right: -300px;
      background-size: 300px 200px;
      /*让元素放大,scale(3)指宽高同时放大3倍。*/
      transform: scale(3);
    }
  </style>
</head>
<body>
  <div class="box">
    <div class="slider"></div>
    <div class="small"></div>
  </div>
</body>
</html>

<script type="text/javascript">
  var slider = document.querySelector('.slider');
  var small = document.querySelector('.small');
  //鼠标按下
  slider.onmousedown = function(event){
    var startX = event.offsetX;
    var startY = event.offsetY;
    //鼠标移动
    document.onmousemove = function (event1) {
      var l = event1.clientX-startX;
      var t = event1.clientY-startY;
      //将小滑块限制在大滑块内
      if(l <= 0) l = 0;
      if(l >= 200) l = 200;
      if(t <= 0) t = 0;
      if(t >= 100) t = 100;
      slider.style.left = l+"px";
      slider.style.top = t+"px";
      //修改小图的背景图定位
      small.style.backgroundPosition="-"+l+"px -"+t+"px";
    }
  }
  //鼠标抬起时,将鼠标移动事件移除
  document.onmouseup = function () {
    document.onmousemove = null;
  }
</script>

代码运行效果:

JavaScript实现淘宝网图片的局部放大功能

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持源码搜藏网。


js/jQuery教程阅读排行

最新文章