123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <title>Document</title>
- <style>
- *{
- margin: 0;
- padding: 0;
- }
- .small-img{
- width: 400px;
- height: 400px;
- position: relative;
- float: left;
- }
- .small-img img{
- width: 100%;
- height: 100%;
- }
- .small-img .mask{
- width: 200px;
- height: 200px;
- background-color: rgba(255,255,255,0.5);
- position: absolute;
- top: 0;
- left: 0;
- }
- .big-img{
- width: 400px;
- height: 400px;
- float: left;
- overflow: hidden;
- margin-left: 20px;
- position: relative;
- }
- .big-img img{
- width: 800px;
- height: 800px;
- position: absolute;
- }
- </style>
- </head>
- <body>
- <div class="container">
- <div class="small-img">
- <img src="./image/niu.png" alt="img">
- <div class="mask"></div>
- </div>
- <div class="big-img">
- <img id="big-bg" src="./image/niu.png" alt="img">
- </div>
- </div>
- <script>
- // 第一步获取元素
- // 获取小图内的透明蒙版
- var oMask = document.getElementsByClassName("mask");
- oMask = oMask[0];
- // 获取小图区域
- var oSmallImg = document.getElementsByClassName("small-img");
- oSmallImg = oSmallImg[0];
- // 获取大图片
- // var oBigImg = document.getElementsByClassName("big-img");
- // oBigImg = oBigImg[0];
- var oBigImg = document.getElementById("big-bg");
- // 第二步给小图区域绑定鼠标移动事件
- oSmallImg.onmousemove = function(e){
- var x = e.clientX-100;
- var y = e.clientY-100;
- // 判断蒙版是否越界
- if(x>200){
- x = 200
- }
- if(y>200){
- y = 200
- }
- if(x<0){
- x=0
- }
- if(y<0){
- y=0
- }
- // 设置半透明蒙版的位置
- oMask.style.left = x + "px";
- oMask.style.top = y + "px";
- // 控制大图的移动
- oBigImg.style.left = (-2*x) + "px";
- oBigImg.style.top = (-2*y) + "px";
- }
- </script>
- </body>
- </html>
|