html 可以拖动的div,多个div实现随意拖拽功能

本文介绍了如何在HTML中创建可拖动的div元素。关键在于利用鼠标事件`mousedown`、`mousemove`和`mouseup`,并确保div的`position`属性设置为`absolute`。在拖动过程中需要注意防止div移出屏幕范围,并处理文字拖动效果。示例代码展示了如何为多个div实现拖拽功能。
摘要由CSDN通过智能技术生成

鼠标事件

mousedown

mousemove

mouseup

注意事项:

被拖动的div的position属性值一定是absolute。切记不可使用margin-top:10px;而应该使用top:10px;

onmousedown事件需要在window.onload时加载。

如果被拖动的div上有文字会有自带的文字拖动效果,需要将改div上的所有拖动事件绑定在该div上,可以使用setCapture。

代码如下:

tuozhuai

* {

margin: 0px;

padding: 0px;

}

div {

width: 100px;

height: 100px;

background: red;

position: absolute;

top: 5%;

}

#div1 {

width: 100px;

height: 100px;

background: red;

position: absolute;

top: 10%;

left: 5%;

}

function drag(id) {

var odiv = document.getElementById(id)

odiv.onmousedown = function(ev) {

var ev = ev || event;

var disX = ev.clientX - odiv.offsetLeft;

var

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值