1

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

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

这是测试页面的html代码。

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

  1. 点击“添加新”
  2. 将新添加的 div 拖到中心窗格底部之外。
  3. 中心窗格按预期显示滚动条。
  4. 如果您在萤火虫中检查中心 div 的高度,它不会改变
  5. 现在尝试通过拖动手柄来调整新添加的 div 的大小
  6. 它跳到顶部,中心框失去滚动条。

我无法粘贴完整的 html 页面,所以这里是对该线程底部代码的引用 http://groups.google.com/group/jquery-ui-layout/browse_thread/thread/ca922aa44c0048ee

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

4

2 回答 2

0

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

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

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

将动态 div 直接添加到 html 正文是一种好方法吗?

于 2010-12-17T16:08:37.643 回答
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();
    }
});
于 2016-09-29T11:00:24.163 回答