Drop down menu 解构页面滚动上的XPages下拉按钮菜单
我使用xpages扩展库在导航中生成下拉菜单,代码如下:Drop down menu 解构页面滚动上的XPages下拉按钮菜单,drop-down-menu,scroll,xpages,xsp,Drop Down Menu,Scroll,Xpages,Xsp,我使用xpages扩展库在导航中生成下拉菜单,代码如下: <xe:dropDownButton disableTheme="true" styleClass="menuButton"> <xe:this.treeNodes> <xe:basicContainerNode styleClass="menuTopLevel"> <xe:this.children>
<xe:dropDownButton disableTheme="true" styleClass="menuButton">
<xe:this.treeNodes>
<xe:basicContainerNode styleClass="menuTopLevel">
<xe:this.children>
<xe:pageTreeNode label="Create New" page="NewInspection.xsp"
styleClass="menuItemSub1">
</xe:pageTreeNode>
<xe:pageTreeNode label="Reports" page="View.xsp"
styleClass="menuItemSub1">
</xe:pageTreeNode>
</xe:this.children>
</xe:basicContainerNode>
</xe:this.treeNodes>
</xe:dropDownButton>
我遇到的问题是,当用户在一个可滚动的页面上(也就是说,页面的高度超过了内容区域的高度),并且他们滚动页面时,菜单会停留在绘制页面的位置(如果打开的话),而不会随页面内容滚动。我正在寻找一种方法来解构任何/所有打开的菜单,如果页面滚动,但我在XPages中没有任何运气。有人遇到过类似的情况吗?我找到了解决这个问题的办法。利用一个代码库来确定我何时在iPad上,我加载了一个函数,该函数添加了一个事件,该事件使用Dojo将onscroll事件绑定到外部窗体,而不是窗口本身。出于某种原因,我不得不将其嵌入导航自定义控件的脚本块中,如果我将其放在其他位置,它将不会附加。如果将来有人需要,下面是代码
dojo.ready( function() {
var object = dojo.byId('view:_id1')
//console.log(object);
dojo.connect(object, 'onscroll', this, function(event) {
// console.log('scroll');
var object1 = dojo.byId('#{id:adminDropDown}_ab_0_dropdown')
if (object1 != null) {
dojo.style(object1, "display", "none")
}
var object1 = dojo.byId('#{id:insDropDown}_ab_0_dropdown')
if (object1 != null) {
dojo.style(object1, "display", "none")
}
var object1 = dojo.byId('#{id:emDropDown}_ab_0_dropdown')
if (object1 != null) {
dojo.style(object1, "display", "none")
}
var object1 = dojo.byId('widget_view:_id1:DateEntry_dropdown')
if (object1 != null) {
dojo.style(object1, "display", "none")
}
});
第一个问题是您是否在使用应用程序布局?如果是,此菜单是在菜单栏上还是在位置栏上?我认为菜单栏会滚动,但位置栏会保持不变。我没有使用应用程序布局。我正试图利用这些控件的自由形式,因为这个系统是从我们内部设计团队的html改编而来的。基本上用XPages中的等效结构替换html。元素本身就在一个xe:listInline元素的内部,而元素本身就在一个面板中。我刚刚测试过,可以确认,如果与applicationLayout一起使用dropDownButton,情况并非如此。仅供参考。是否有替代使用applicationLayout的方法?我不想依赖于OneUI系统,我更愿意以更方便我们的方法使用这些控件。