拖放不适用于over flow auto

时间:2012-03-16 06:05:30

标签: javascript jquery html css

朋友您好我试图在我的页面上设置拖放功能,但我遇到了一些问题。你可以下载我的文件here问题是当你打开index2.html它与css完美配合时

#leftColumn{
        width:300px;
        float:left;     
    }

但是当我在index.html

中的id leftColumn上添加一些css时
#leftColumn{
        width:300px;
        float:left;
        height:100px;
        overflow:auto;

    }

它完全停止工作你可以在文件中看到索引,html左侧可拖动的盒子不用鼠标移动请帮忙。

由于

1 个答案:

答案 0 :(得分:1)

你需要从你正在抓住的孩子的父母那里减去“.scrollTop”


编辑:

js / drag-drop-custom.js

第533行我改变了
    this.dragObjCloneArray [this.numericIdToBeDragged] .style.top = dhtmlSuiteCommonObj.getTopPos(this.dragDropSourcesArray [this.numericIdToBeDragged] [0])+'px';

-to -
    this.dragObjCloneArray [this.numericIdToBeDragged] .style.top = dhtmlSuiteCommonObj.getTopPos(this.dragDropSourcesArray [this.numericIdToBeDragged] [0]) - this.dragObjCloneArray [this.numericIdToBeDragged] .parentNode.scrollTop + “像素”;

第597行我改变了
    dragObj.style.top = topPos +'px';
-to -
    dragObj.style.top = topPos - dragObj.parentNode.scrollTop +'px';

第670行我改变了
    var targetY = dhtmlSuiteCommonObj.getTopPos(referenceToDragDropObject.dragDropSourcesArray [numId] [0]);

-to -
    var targetY = dhtmlSuiteCommonObj.getTopPos(referenceToDragDropObject.dragDropSourcesArray [numId] [0]) - this.dragObjCloneArray [numId] .parentNode.scrollTop ;

现在它在你的例子中运行正常,但对于垂直问题只有 ,如果你想让它水平滚动那么你会有为scrollLeft做同样的事情。如果您需要帮助,那么我很遗憾地告诉您,这对您来说太先进了。