有界的可拖动元素,带有详细信息

时间:2019-02-03 08:47:00

标签: jquery jquery-ui draggable

我正在尝试使div可拖动并绑定到另一个容器div(浅黄色)。使用jquery和jquery-UI,我设法使其工作(代码笔项目here)。现在我错过了下一步。

我的可拖动标头div上有一个(红色)按钮,它将切换包含其他一些详细信息的body div的可见性。我也希望这些详细信息始终显示在我的容器中。

现在,如果我将我的(橙色)标头div拖到其容器的底部并打开主体详细信息(金)div,它将显示在容器外部。考虑到我想将标题拖到其容器底部,有没有一种方法可以避免这种情况?我在想类似

if(spaceUnderHeaderDiv < detailsDivHeight) { 
  // make detailsDiv to appear on the top of header instead 
}

,因此,如果我的标题div下没有足够的空间,我会在顶部显示我的身体div,而不是像通常那样将其显示在底部

1 个答案:

答案 0 :(得分:0)

我希望带有.toggle()的{​​{1}}和特定选项可以工作。

slide

其中$(".elBody").toggle("slide", { direction: "down", distance: diff }); 是从diff的底部边缘到.elHeader的底部边缘的像素差。 jQuery UI效果的工作方式不同于jQuery .container

我最终做的事情是相似的,我在发布.slidetoggle()之前调整了height的值。

工作示例:https://jsfiddle.net/Twisty/9q5wt186/13/

JavaScript

.slideToggle()

希望有帮助。