js图片放大镜

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js图片放大镜相关的知识,希望对你有一定的参考价值。

JS图片放大镜效果。

应用场景:各大电商网站。

js图片放大镜

(附件)

 

<!--
Author: XiaoWen
Create a file: 2017-01-13 12:28:36
Last modified: 2017-01-13 17:16:46
Start to work:
Finish the work:
Other information:
-->
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <style>
    *{
      margin: 0;
      padding: 0;
    }
    #box{
      height: 280px;
      width: 480px;
      background: url(small.jpg) no-repeat;
      float:left;
    }
    #rec{
      height: 100px;
      width: 100px;
      opacity:.5;
      background: #ccc;
      position: absolute;
      left: 0;
      top: 0;
      display:none;
    }
    #box1{
      height: 400px;
      width: 400px;
      background: url(big.jpg) no-repeat;
      float:left;
      display: none;
    }
  </style>
</head>
<body>
<div id="box">
  <div id="rec"></div>
</div>
<div id="box1"></div>
</body>
<script>
  box.onmouseover=function(){
    rec.style.display=\'block\';
    box1.style.display=\'block\';
  }
  box.onmousemove=function(ev){
    var e=ev||event;
    // var ex=e.clientX; //鼠标位置不在中间
    // ex=e.clientX-rec.offsetWidth/2; //鼠标位置在中间
    var ex=e.clientX-rec.offsetWidth/2;
    var ey=e.clientY-rec.offsetHeight/2;

    //让小方块不超出左边
    if(ex<box.offsetLeft){
      ex=box.offsetLeft
    }
    //让小方块不超出右边
    if(ex>box.offsetLeft+box.offsetWidth-rec.offsetWidth){ //让小方块不超出左边
      ex=box.offsetLeft+box.offsetWidth-rec.offsetWidth
    }
    //让小方块不超出上边
    if(ey<box.offsetTop){
      ey=box.offsetTop
    }
    //让小方块不超出下边
    if(ey>box.offsetTop+box.offsetHeight-rec.offsetHeight){
      ey=box.offsetTop+box.offsetHeight-rec.offsetHeight
    }
    rec.style.left=ex+\'px\';
    rec.style.top=ey+\'px\';
    box1.style.backgroundPositionX=-4*ex+\'px\'
    box1.style.backgroundPositionY=-4*ey+\'px\'

  }
  box.onmouseout=function(){
    rec.style.display=\'none\';
    box1.style.display=\'none\';
  }

</script>
</html>

 

以上是关于js图片放大镜的主要内容,如果未能解决你的问题,请参考以下文章

angular js 鼠标移过图片放大,就是放在图片上图片放大 或者反击,

怎么用js实现图片点击时放大,再点击恢复

(急,高手)js鼠标点击图片放大后再点击关闭代码

javascript高手请进!关于就js控制网页图片放大缩小的问题

使用js实现简单放大镜的效果

js+css鼠标移动图片放大