拖放可滚动的div

时间:2012-06-01 07:26:28

标签: jquery css treeview

我有2个div,左边和右边的div,左边的div包含一个树视图,右边的div包含一个网格。我可以将项目从网格拖到树视图中,当我将鼠标悬停在节点上时,树视图有代码扩展树视图。

由于树视图的大小,因为树视图存在滚动条 - 当我将项目拖动到完全展开的树视图时它不会让我一直拖到底部,问题是当我拖动时滚动条doeesnt滚动,所以我目前通常需要使用滚动条查看的任何项目 - 它不会让我在树视图上拖动到足以看到这些项目。

左边的div有以下内容: -

{
    display: inline-block;
    width: 350px;
    height: 800px;
    float: left;
    overflow: auto;
}

任何建议都会很棒。

1 个答案:

答案 0 :(得分:0)

作为用户,您仍然可以使用鼠标滚轮滚动。作为设计小部件的人,我建议在树的上方和下方添加一个热点(带有javascript绑定到mousemove事件的div)。在mousemove事件中,向上或向下滚动树(取决于正在悬停的热点) - 然后用户可以通过在热点上摆动鼠标来滚动树。

如果被拖动的对象拦截了mousemove事件(很可能),那么你必须添加一些代码来检查对象是否被拖到树的上方或下方,并相应地滚动树(以适当的速度) )。该代码必须位于可以告诉鼠标位置的元素上 - 可能是body元素。