<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> <style> * { margin: 0; padding: 0; } #small { width: 320px; height: 320px; margin: 100px 100px; float: left; /*border: 1px solid black;*/ position: relative; } #small img { width: 100%; height: 100%; } #meng { width: 100px; height: 100px; background: white; position: absolute; opacity: 0.5; display: none; } #big { width: 400px; height: 400px; float: left; overflow: hidden; margin-top: 100px; /*border: 1px solid black;*/ position: relative; display: none; } #big img { position: absolute; } </style> <script> window.onload = function () { var small = document.getElementById('small'); var meng = document.getElementById('meng'); var big = document.getElementById('big'); small.onmouseover = function() { meng.style.display = 'block'; big.style.display = 'block'; } small.onmousemove = function (ev) { var e = ev || window.event; var mengOffsetX = e.clientX - 50 - small.offsetLeft; var mengOffsetY = e.clientY - 50 - small.offsetTop; var smallWidth = small.offsetWidth; var smallHeight = small.offsetHeight; if (mengOffsetX < 0) { mengOffsetX = 0; } if (mengOffsetX >= smallWidth - 100) { mengOffsetX = smallWidth - 100; } if (mengOffsetY < 0) { mengOffsetY = 0; } if (mengOffsetY >= smallHeight - 100) { mengOffsetY = smallHeight - 100; } meng.style.left = mengOffsetX + 'px'; meng.style.top = mengOffsetY + 'px'; var bigImg = big.getElementsByTagName('img')[0]; bigImg.style.left = mengOffsetX * -4 + 'px'; bigImg.style.top = mengOffsetY * -4 + 'px'; } small.onmouseout = function () { meng.style.display = 'none'; big.style.display = 'none'; } } </script> </head> <body> <div id="small"> <div id="meng"></div> <img src="../img/qb.jpg" alt="乔巴"> </div> <div id="big"> <img src="../img/qb.jpg" alt="乔巴"> </div> </body> </html>