无穷小白 2021-09-26 23:32 采纳率: 100%
浏览 32
已结题

仿京东放大镜效果,请教各位大牛js可以用backgroundPositionX 和 Y 吗,效果和img移动一样



```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>

```

  • 写回答

1条回答 默认 最新

  • 关注

    可以啊,用backgroundPositionX 和 backgroundPositionY 就是设置背景图片的位置,你具体要问什么?

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月5日
  • 已采纳回答 9月27日
  • 创建了问题 9月26日

悬赏问题

  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容