这应该很简单,但每次我尝试时都会遇到不同的问题。
我正在尝试使用鼠标事件(例如 mousedown、mouseup、mousemove、clientX 和 clientY)在屏幕上移动图像。然后我尝试使用绝对定位将其应用于图像。
我认为下面的代码会在我获得初始点击的坐标时起作用,然后我的想法是用鼠标移动来更新它们,但这不起作用。
var image;
var dog = document.getElementById("dogPic");
var cat = document.getElementById("catPic");
dog.addEventListener("mousedown", initialClick, false);
cat.addEventListener("mousedown", initialClick, false);
function initialClick(e) {
var initialX = e.clientX;
var initialY = e.clientY;
image = document.getElementById(this.id);
document.addEventListener("mousemove", function(e){
var newX = e.clientX - initialX;
var newY = e.clientY - initialY;
image.style.left = newX;
image.style.top = newY;
}, false);
}
Run Code Online (Sandbox Code Playgroud)
我不是在要求一个完整的答案,但是任何人都可以指导我如何使用鼠标移动事件在屏幕上拖动图像?
谢谢