```javascript
<script>
window.addEventListener('load', function() {
var mask = document.querySelector('.mask');
var box = document.querySelector('.box');
var big = document.querySelector('.big');
box.addEventListener('mouseover', function(e) {
mask.style.display = 'block';
big.style.display = 'block';
})
box.addEventListener('mouseout', function() {
mask.style.display = 'none';
big.style.display = 'none';
})
box.addEventListener('mousemove', function(e) {
var mouse_x = e.pageX - box.offsetLeft;
var mouse_y = e.pageY - box.offsetTop;
var x = mouse_x - mask.offsetWidth*0.5;
var y = mouse_y - mask.offsetHeight*0.5;
var cha = box.offsetWidth - mask.offsetWidth;
if (x <= 0) {
x = 0;
} else if (x >= cha) {
x = cha;
}
if (y <= 0) {
y = 0;
} else if (y >= cha) {
y = cha;
}
mask.style.left = x+'px';
mask.style.top = y+'px';
var big_x = (mask.offsetWidth/box.offsetWidth)*(big.offsetWidth/100);
big.style.backgroundPositionX = -big_x*x + 'px' ;
big.style.backgroundPositionY = -big_x*y + 'px';
})
})
</script>
```