javascript - 在 mousemove 上更改图像的位置

标签 javascript html css

我想在鼠标移动时更改图像的位置,但即使在我执行 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 更改为 left 并将 backgroundPositionY 更改为 top

我不完全确定这是您想要的行为,但按照上述步骤操作会导致图像在鼠标移动时移动(前提是鼠标在图像上)。

关于javascript - 在 mousemove 上更改图像的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57128776/

相关文章:

html - 为什么在html5中使用role属性

ruby-on-rails - Twitter Bootstrap 显示带有灰色文本的按钮

css - 单击 Bootstrap 按钮时,它会更改为主要状态

javascript - Toggle 需要只在父 div 上工作,而不是子 div

javascript - 使用 moment.js 检查日期格式

javascript - JS/调用其他函数中定义的函数

javascript - 星级 CSS 问题

html - 如何使用 div 更改响应表行的高度

javascript - JS的雷区出了问题

javascript - 单击 AngularJS 指令内的嵌入元素时调用函数