jquery布局和动态可拖动div问题

时间:2010-12-16 16:16:47

标签: jquery-plugins draggable jquery-ui-resizable jquery-layout

我正在使用jquery布局插件,并且遇到以下情况我无法找到解决方案。 如何通过将div拖到底部边框之外来永久地增加中心窗格的大小。

我有一个左窗格和一个中心窗格。我动态生成div 当用户单击左窗格时。 div生成和 掉在中央窗格上。 div是可拖动和可调整大小的。 通过拖动和调整可见中心的大小,一切正常 区域。我拖动div超出底部的那一刻,滚动条就开启了 出现中心窗格,中间窗格似乎延伸到 适应被拖动的div的新位置。但是我尝试的那一刻 要调整div的大小或添加另一个div,它会跳转到顶部 div并重置滚动条。我检查了中心div高度 萤火虫,它在初始化时保持相同的高度 甚至在将新div拖到底部之后。

这是测试页面的html代码。

完全复制/粘贴到html页面。在左侧窗格中,单击“添加新”按钮将添加可拖动和可调整大小的新div。

  1. 点击“添加新”
  2. 将新添加的div拖到中心窗格底部之外。
  3. 中心窗格按原样显示滚动条。
  4. 如果你在firebug中检查中心div的高度,它就不会改变
  5. 现在尝试通过拖动其句柄来重新调整新添加的div
  6. 它跳到顶部,中心框丢失了滚动条。
  7. 我无法粘贴完整的html页面,所以这里是对该主题底部代码的引用 http://groups.google.com/group/jquery-ui-layout/browse_thread/thread/ca922aa44c0048ee

    这是测试链接http://jsfiddle.net/yZc63/

2 个答案:

答案 0 :(得分:0)

我很惊讶以前没有人遇到过这种情况?即使没有布局插件,我的解决方案也不是很漂亮。为了模拟没有布局插件的页面,我必须在css中使用position:fixed属性来保持顶部和左侧窗格。并没有中心div。我将新的div直接添加到html的主体。原因是我不希望在浏览器滚动条顶部看到其他滚动条。换句话说,移动浏览器滚动条时,中心窗格应滚动。我正在附上解决方案,所以你有一个想法。

如果我可以使用任何其他方法模拟以前的附件,即使没有布局插件,我也可以使用任何解决方案。我在没有布局插件的情况下附加了我的页面,但我不确定这是否是唯一优雅的解决方案。

您可以在此处查看解决方案http://jsfiddle.net/c7wrT/

将动态div直接添加到html主体是一个好方法吗?

答案 1 :(得分:0)

我遇到了同样的情况,这个答案有所帮助。 https://stackoverflow.com/a/33004821/2139859更新小提琴: http://jsfiddle.net/bababalcksheep/yZc63/11/

$(".removalbe-recom").draggable({
    appendTo: "body",
    helper: "clone",
    revert: "invalid",
    cursor: "move",
    containment: "document",
    zIndex: 10000,
    scroll:false,
    start: function (event, ui) {
    $(this).hide();
    },
    stop: function (event, ui) {
        $(this).show();
    }
});