我在页面上有一个带有5选项卡系统的页面。每个标签在左侧的导航列表中都有一个链接,这样某个人可以直接链接到打开了特定标签的页面,或者单击任意标签来显示内容隐藏/另一个。在Drupal中使用location.hash w/jquery而不是'加倍'url
要做到这一点,我使用的location.hash和附加每个标签ID的网址,如:
http://localhost:8082/departments/site-facilities/enviroment/iso-14001#impactAreas
所以有人可以只打:
http://localhost:8082/departments/site-facilities/environment
..see的标签系统,然后点击iso-14001选项卡,该选项卡将哈希值添加到网址,或者可以在上面输入该网址或点击左侧导航栏中的链接。
我在Drupal遇到的问题是,在基本的HTML列表(这是一个额外的列表,而不是主,也不二级菜单),我已经在一个链接的HREF进入,如:
< a href="/departments/site-facilities/environment/iso-14001#impactAreas">link here</a>
如果网站中的其他地方有效,它将起作用。但是,一旦一个人是用制表符实际的页面上,他们应该单击左侧列表导航链接,在浏览器的URL变为:
http://localhost:8082/departments/site-facilities/departments/site-facilities/environment/iso-14001#impactAreas
所以它就像Drupal是不承认重新加载了新的一页只是将href位置附加到现有网址。
我不知道为什么,如果这是一个PHP的事情,哈希,如果我需要不同的jQuery等
下面是基本的jQuery我放在一起:
function setupSubNav(){
pathName = window.location.href;
$('.hiddenSection').css('display','none');
pathArray = pathName.split('#');
param = pathArray[pathArray.length-1];
if(pathArray.length>1){
showSection(param,$('.' + param + 'Trigger'));
}
else
{
if ($('body.fervens-a .pageTabs li')) {
var sectionName = $($('body.fervens-a .pageTabs li')[0]).attr('class').split('Trigger')[0];
showSection(sectionName, $($('body.fervens-a .pageTabs li')[0]));
}
}
$('body.fervens-a .pageTabs li').click(function(){
if (!($(this).hasClass('current'))) {
var sectionName = $(this).attr('class').split('Trigger')[0];
showSection(sectionName, $(this));
}
});
}
function showSection(sectionName,$navObj) {
if (sectionName != 'iso14001' && sectionName != 'environmentalPolicy' && sectionName != 'impactAreas' && sectionName != 'goals2013' && sectionName != 'isoDocs') {
sectionName = 'iso14001';
$navObj = $($('body.fervens-a .pageTabs li')[0]);
}
$('body.fervens-a .pageTabs li').removeClass('current');
$navObj.addClass('current');
$('.hiddenSection').css('display','none');
$('#' + sectionName + 'Content').css('display','block');
window.location.hash = sectionName;
}
我应该是以某种方式检查window.location是否已经有一个哈希,如果是这样删除它,然后添加新的?听起来不正确,但我坚持为什么这不起作用。
我以前的代码我以前写的Schwab迷你网站,只是添加哈希的东西,但它是所有的HTML那里,现在,这是Drupal和PHP,我只是想知道我还有什么失踪。
谢谢