8.拖拽效果

拖拽效果,和调整窗口大小其实差不多,首先我们来看一张图。

黑色的小圆点,是我们鼠标单击的点。

红线的距离,可以通过e.pageX获得。

蓝线的距离,可以通过可以移动的这个Div盒子的 offsetLeft拿到。

此时我们就可以拿到,黄线的长度,当鼠标,也就是小圆点往右移动的时候,黄线是不会变的,而红线会变长,我们再次通过e.pageX拿到这个红线的长,我们通过红线的长度,减去不变的黄线的长度,得到的就是新的蓝线长度,也就是元素需要设置的left的值。

1.首先准备HTML结构

2.添加一些样式

  1. 加上我们的 JavaScript 逻辑

maxX 就是我们最多可以移动长度,它等于浏览器可视区的宽度,减去盒子的宽度。

Math.min((mouse.x - distance.topLeft), maxX) 是为了让left不能超出可视区域右边

Math.max 是为了让 left 不能为负数,也就是不能超出可视区的左边。

Last updated