div滚动条怎么设置_js实现一个可拖动的div

bb5a46698e8062ffb291dd69c6fad3b1.gif

先看下效果图

实现原理

1、给目标div增加鼠标按下事件,记录下div对象的位置(left,top)和鼠标点击的位置(x,y)

2、监听鼠标移动事件,在移动过程中计算出鼠标的移动位置(nx,xy),然后实时计算出鼠标从点击到现在的偏移量,然后再将div的位置修改,这样就实现了div位置的变动

ps:目标div的属性position要设置absolute或者relative

3、div可以移动了,但什么时候停止移动呢?当然是鼠标弹起的时候,所以我们监听鼠标弹起的事件,并结束移动

代码实现

div-drag-每天一个知识点

.dragable {

width: 200px;

height: 200px;

border: 1px solid darkorchid;

position: relative;

}

代码手敲可运行

当然这个实现还有很多可扩展或者不足,比如怎么限制div移动的范围,能力有限,在以后的日子里会尝试编写js组件,实现更完善的功能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值