如何为Primefaces auto scroll
Tiered Menu
做什么?
我想设置div宽度200px
。那时,我看不到主要的子菜单
我想带到前面sub-menu of tieredMenu
。
代码
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:c="http://java.sun.com/jsp/jstl/core"
xmlns:p="http://primefaces.org/ui"
xmlns:fu="http://java.sun.com/jsf/fileUpload"
template="/common/commonLayout.xhtml">
<ui:define name="content">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script type="text/javascript">
$("ul.ui-menu-list.ui-widget-content").css("position", "fixed");
</script>
<h:form enctype="multipart/form-data">
<div style="overflow: auto;width:200px;height:200px;border:3px corsal solid;">
<p:tieredMenu style="width:150px">
<p:submenu label="Ajax Menuitems">
<p:menuitem value="Save"/>
<p:menuitem value="Update"/>
</p:submenu>
<p:submenu label="Non-Ajax Menuitem">
<p:menuitem value="Delete"/>
</p:submenu>
<p:separator />
<p:submenu label="Navigations">
<p:submenu label="Prime Links">
<p:menuitem value="Prime"/>
<p:menuitem value="PrimeFaces"/>
</p:submenu>
<p:menuitem value="Mobile"/>
</p:submenu>
<p:separator />
<p:submenu label="Navigations">
<p:submenu label="Prime Links">
<p:menuitem value="Prime"/>
<p:menuitem value="PrimeFaces"/>
</p:submenu>
<p:menuitem value="Mobile"/>
</p:submenu>
<p:separator />
<p:submenu label="Navigations">
<p:submenu label="Prime Links">
<p:menuitem value="Prime"/>
<p:menuitem value="PrimeFaces"/>
</p:submenu>
<p:menuitem value="Mobile"/>
</p:submenu>
<p:separator />
<p:submenu label="Navigations">
<p:submenu label="Prime Links">
<p:menuitem value="Prime"/>
<p:menuitem value="PrimeFaces"/>
</p:submenu>
<p:menuitem value="Mobile"/>
</p:submenu>
<p:separator />
<p:submenu label="Navigations">
<p:submenu label="Prime Links">
<p:menuitem value="Prime"/>
<p:menuitem value="PrimeFaces"/>
</p:submenu>
<p:menuitem value="Mobile"/>
</p:submenu>
</p:tieredMenu>
</div>
<script type="text/javascript">
$("ul.ui-menu-list.ui-widget-content").css("position", "fixed");
</script>
</h:form>
</ui:define>
</ui:composition>
需要你的建议。
更新我更新图片和代码更清晰。
我希望<p:submenu>
位于DIV
的顶部。
答案 0 :(得分:4)
在关闭div标签后立即使用以下JQuery脚本: [在DIV标签后输出脚本]
经过巨大的努力,我终于想出了这个剧本:
<script type="text/javascript">
var v = $("li.ui-widget.ui-menuitem.ui-corner-all.ui-menu-parent");
$(v).bind("mouseover",function(event){
var target = event.target;
var mItem;
if($(target).is("a")){
mItem = $(target).siblings("ul.ui-menu-list");
}
else if($(target).is("span")){
mItem = $(target).parent().siblings("ul.ui-menu-list");
}
if(mItem!=undefined){
var parnt = $(mItem).parent();
try{
var parpos = $(parnt).offset();
var x = parpos.left;
var y = parpos.top;
$(mItem).css('top',y);
$(mItem).css('position','fixed');
}catch(err){}
}
});
</script>