2

我正在尝试将 jquery 对话框放入相对于另一个 div 容器的 div 容器中。换句话说,我正在寻找它以内联方式出现并让它的外观影响它周围的元素(例如:如果它在它下面的 div 中滑动,它会被强制容纳)。

我知道它不再是一个传统的对话框,但考虑到我想保留提供给 jQuery 对话框的功能,我不确定还能叫它什么。

你怎么看?任何变通的黑客或解决方案?

我想不惜一切代价避免将位置设置为绝对。

4

1 回答 1

1

我确定您现在已经解决了这个问题,但这是我为后代提供的解决方案:

.dialog({
    appendTo: "#placeholderSpan",
    draggable: false,
    resizable: false
})
.parent()
.css({ position: "relative" })
.position({ my: "left top", at: "left top", of: "#placeholderSpan"});

我使用新的(从 1.10.0 开始)appendTo 属性,但也可以在打开时附加或预先添加对话框:

.dialog({
    open: function() {
        $(this).parent().prependTo("#placeholderSpan");
    }
});

这只对我有用,如果位置函数最后出现,我不能使用对话框选项中的位置函数或在设置 css 位置之前定位对话框。

jsFiddle

于 2013-06-11T22:32:59.757 回答