您的位置:首页 > Web前端 > JQuery

JQuery定制sharepoint网站的左边导航

2009-06-21 23:52 197 查看
最近有个项目,总体构架设计如:首先有一个clients网站,然后clients下面有很多client网站,每个client下面又会有很多brands(品牌)。当用户进入brand网站时,发现一个奇怪的现象:左边导航不仅显示当前client下的所有brand,同时也显示其他client下面的brand连接,不知道这是不是sharepoint的bug。我想可能MS就这么设计的。你会发现,我选择的网站是:Pfizer下面的Aricept,但Wyndham下面的所有brands也被展开了

Code
1)copy JQuery.js into 12\TEMPLATE\LAYOUTS\JQuery foler
2)add below sections into master page:

<script type="text/javascript" src="/_layouts/JQuery/jquery.js"></script>

<script type="text/javascript">

$("table.ms-navSubMenu2").each(function(){

var objCrumb =$("td").filter(".ms-pagebreadcrumb");
var crumValue = objCrumb.text();
//Find any navigation items under the sub menu that have been selected.

var selectedNavItems = $(this).find("a.ms-selectednav");
//Find the corresponding navigation header of the current sub menu being processed
var menuHeader = $(this).parents("tr:eq(0)").prev("tr").find("table.ms-navheader:eq(0)");

if ($(menuHeader).hasClass("ms-selectednavheader") || selectedNavItems.length > 0)
{
//if the navigation header for this sub menu is selected or if there are any
//selected navigational items in this submenu, show the submenu.
$(this).show();
}
else
{
if(crumValue !=null && crumValue.length>0)
{
if(crumValue.split('>').length>3)
{
$(this).hide();// hide the submenu
}
}
}

});
</script>

OK,再次打开网站,你会发现上面的问题被解决了



本技术参考: http://www.deviantpoint.com/post/2009/01/16/Creating-an-accordion-style-SharePoint-Quick-Launch-menu-with-jQuery.aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: