几个星期以来,我一直在努力解决这个问题,所以我不确定这是不可能的,还是我缺乏编码能力……或者两者兼而有之。我不是程序员,我是 Dojo Toolkit 的新手。
我有一个使用 BorderContainer 布局的站点。我正在尝试创建一种效果,我可以使用按钮打开和关闭将包含控件的下拉类型框。我需要在页面加载时隐藏此下拉菜单,然后在单击按钮时打开。
我的问题是,当我打开下拉列表时,它会将其下方的内容窗格推离浏览器窗口的底部。当下拉菜单打开时,我需要下部 ContentPane 保持在浏览器窗口的剩余空间内。此外,我希望下拉菜单位于其下方内容的可滚动容器之外,这就是为什么我将其设置为位于其下方的嵌套 BorderContainer 之外的原因。
我创建了一个简化版本的代码来展示我的挑战(见下面的链接)。如果加载页面,您可以看到中心 ContentPane 滚动内容。但是,如果您随后单击该按钮,则会在内容上方展开一个下拉 div。然后,当您滚动时,您会注意到您看不到完整的窗格,因为它位于浏览器窗口底部下方的无人区。我假设因为 div 在加载时设置为 display:none,所以页面加载时不考虑它的大小。然后,当您通过按下按钮打开它时,它的大小是相加的,下面的窗格不知道如何调整大小或考虑新元素。
我试过使用可见性属性,但是当它仍然关闭时,它会给 div 留下一个空白。我已经修改了一些代码来控制显示承诺的高度,但是我的每个下拉框的大小都会不同,所以我更喜欢将高度设置为“自动”而不是指定的像素大小。
有谁知道我如何做到这一点,以便下部窗格适合空间而不会推开屏幕?
这是该页面的示例:
http://equium.com/scaffold.html
(我在尝试将完整的 HTML 页面作为代码示例插入此处时遇到了一些问题,因此,如果这是一种更好的处理方式,并且有人可以让我知道嵌入所有代码的最佳方式,我将不胜感激。)
谢谢提前,我真的很感激任何人的反馈。