javascript - 在 mousemove 上更改图像的位置
问题描述
我想在鼠标移动时更改图像的位置,但即使位置发生更改,图像也不会改变console.log
var image = document.getElementById('img')
image.addEventListener('mousemove', function(e) {
console.log(e.pageX * -1 / 12)
var valueX = (e.pageX * -1 / 12);
var valueY = (e.pageY * -1 / 12);
image.style.backgroundPositionX = valueX + "px"
image.style.backgroundPositionY = valueY + "px"
});
<header>
<img id="img" src="https://placehold.it/100x100" alt="">
</header>
header {
height: 100vh;
width: 100%;
position: absolute;
overflow: hidden;
}
header img {
width: 100%;
height: 100%;
position: absolute;
}
解决方案
您需要添加style="position:absolute;"
到您的img
.
此外,您需要更改backgroundPositionX
toleft
和backgroundPositionY
to top
。
我不完全确定这是您要执行的行为,但按照上述步骤操作会导致图像在鼠标移动时移动(假设鼠标在图像上)。
推荐阅读
- imageview - 如何在 Android 8.0 Oreo 上调整图像视图的大小/缩放类型?
- python-3.x - Python: Use a for loop to get Nth number out of a list
- javascript - 在 JavaScript 中进行继承时方法没有被传递
- android - 由于稳定性问题,为亲子同乐而设计的应用被拒绝
- javascript - 未定义的属性导航
- c++ - 如何将文件名作为参数传入并正确打开?
- javascript - Ng-仅在特定页面上显示按钮
- php - 不显示 SESSION ITEM / VARIABLE codeIgniter
- java - FileOutputStream 不显示 FileNotFoundException
- swift4 - Swift 4,有没有办法在不使用 capturePhoto 的情况下捕捉高质量的照片?