js 鼠标拖动图片_js鼠标拖动图片:代码示例

xl1407

温馨提示:这篇文章已超过298天没有更新,请注意相关的内容是否还可用!

js 鼠标拖动图片_js鼠标拖动图片:代码示例

鼠标拖动图片是一种常见的交互效果,通过JavaScript可以实现这个功能。我们需要监听鼠标的按下、移动和释放事件,以及对应的图片元素。当鼠标按下时,我们需要记录鼠标的初始位置和图片的初始位置,当鼠标移动时,根据鼠标的位置和初始位置的差值,计算出图片应该移动的距离,并将其应用到图片的位置上,最后当鼠标释放时,我们需要取消对鼠标移动事件的监听。

下面是一个简单的示例代码:

<!DOCTYPE html>

<html>

<head>

<style>

#image {

position: absolute;

top: 0;

left: 0;

}

</style>

</head>

<body>

<img id="image" src="image.jpg" alt="Image">

<script>

var image = document.getElementById('image');

var initialMouseX, initialMouseY, initialImageX, initialImageY;

image.addEventListener('mousedown', function(event) {

initialMouseX = event.clientX;

initialMouseY = event.clientY;

initialImageX = parseInt(image.style.left) || 0;

initialImageY = parseInt(image.style.top) || 0;

document.addEventListener('mousemove', moveImage);

document.addEventListener('mouseup', stopMovingImage);

});

function moveImage(event) {

var deltaX = event.clientX - initialMouseX;

var deltaY = event.clientY - initialMouseY;

image.style.left = initialImageX + deltaX + 'px';

image.style.top = initialImageY + deltaY + 'px';

}

function stopMovingImage() {

document.removeEventListener('mousemove', moveImage);

document.removeEventListener('mouseup', stopMovingImage);

}

</script>

</body>

</html>

在这个示例代码中,我们首先获取了图片元素和初始位置的变量。当鼠标按下时,我们记录了鼠标的初始位置和图片的初始位置,并添加了鼠标移动和释放事件的监听。在移动事件的回调函数中,我们计算了鼠标移动的距离,并将其应用到图片的位置上。在释放事件的回调函数中,我们取消了对移动事件的监听。

这样,当我们按下鼠标并移动时,图片会跟随鼠标移动,释放鼠标后,图片停止移动。

文章版权声明:除非注明,否则均为莫宇前端原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码