Many developers want to have large trees with draggable nodes. To accomplish this the draggable pabelGroups can be used as nodes of the tree and to avoid the page scrolling, the tree component can be put inside the scrollable div by setting its width, height and overflow to auto but after all these efforts it does not work properly.
It came across that, when Scriptaculous creates a Draggable component, it makes a call of Element.makePositioned(element) function which changes the default position "static" to "relative". Which seems to work fine in all cases except when the parent component's overflow is being set to the "auto".
So if the position of the drag element is set to "relative" and the overflow property of its parent element is set to auto, the Drag and Drop component manifests different issues with different browsers. Please see the attached images for detail.
To fix this problem, ICEfaces made some changes so the developers can use draggable components inside the scrollable div. please see the following revision# 14708 for the changes.
So In order to use draggable nodes inside a scrollable div, developer must need to set "dragOptions" to "dragGhost". (e.g.)
<ice:panelGroup draggable="true" dragOptions="dragGhost" ..../>
It came across that the problem exists in the drag and drop .js. So I reported a bug to the scriptaculous bug reporting system. Please see the link below.
http://dev.rubyonrails.org/ticket/8749