Javascript可拖动div不会触发滚动

Javascript可拖动div不会触发滚动,javascript,scroll,drag,Javascript,Scroll,Drag,我有一个简单的Javascript拖动函数。你可以在这里看到: 红色的dragger分区是可拖动的。它嵌套在溢出滚动div中,但当它超过限制时不会触发“滚动”。可能是因为它的位置是绝对的。 有办法解决这个问题吗?当滚动超出限制时,是否进行滚动? 谢谢首先,您必须给出包含div a的位置:relative。这样,绝对定位的拖拽器就留在它的内部,不能越过它的边界 我不知道为什么滚动不起作用,但是有没有一个原因是您在访问jQuery时自己编写了拖动函数的脚本?jQuery中有一个功能强大的函数,名为

我有一个简单的Javascript拖动函数。你可以在这里看到:

红色的dragger分区是可拖动的。它嵌套在溢出滚动div中,但当它超过限制时不会触发“滚动”。可能是因为它的位置是绝对的。 有办法解决这个问题吗?当滚动超出限制时,是否进行滚动?
谢谢

首先,您必须给出包含div a的
位置:relative
。这样,绝对定位的拖拽器就留在它的内部,不能越过它的边界


我不知道为什么滚动不起作用,但是有没有一个原因是您在访问jQuery时自己编写了拖动函数的脚本?jQuery中有一个功能强大的函数,名为,它完全满足您的需要。

这里有一个可以滚动的版本


我移除了内部的div,这似乎有帮助。滚动条现在更新了,我想您只需要更新javascript,以便在拖动时实际滚动div。

是的,我想我需要在拖动的元素上有一个相对位置。确实有一个可拖动的jQuery UI函数,但我不能将其用于此项目。我的可拖动代码有2K,而jQuery+UI库大约有100KB…对不起,我不知道jQuery是如何使可拖动对象滚动的。这和我说的一样,所以也不能解决这个问题。你使用的是什么浏览器?在Chrome中,当我拖动右侧的红色div时,我看到水平滚动条发生了变化(您需要拖动的距离比垂直滚动条更远)。我误解你的问题了吗?你说的是实际调用窗口的滚动条,还是仅仅更新滚动条。我认为您需要在JavaScript中进行的实际滚动?另外,顺便说一句:你的js在IE8中不起作用(不喜欢.screenX)。是的,我们讨论的是实际调用滚动条,而不仅仅是让滚动条出现。我看到jQuery draggable()做得很好…“你的js在IE8中不起作用”我会用谷歌ChromeFrame为这一个命名。@Mircea:酷,我想我会提到它,因为我注意到了它。:)