我有一个从列表项锚点触发的面板隐藏/显示设置。效果很好。问题是,我还在网站导航中有一个下拉菜单,它还需要从网站上的任何页面触发每个面板。比方说,我在产品页面上有面板(按此顺序),“硬件”,“软件”,“附件”。因此,当我在“关于”页面上,然后单击“软件”时,预期的结果是将我带到“产品”页面并打开“软件”面板。这是面板的jquery脚本:
$("ul#product-type li a").click(function() {
$("ul#product-type li").removeClass("selected");
$(this).parent().addClass("selected");
var currentTab = $(this).attr("href");
$("div.panel").hide();
$(currentTab).show();
return false; });
下拉导航标记:
<ul id="nav">
<li><a href="/products/#hardware"><span>Hardware</span></a></li>
<li><a href="/products/#software"><span>Software</span></a></li>
<li><a href="/products/#accessories"><span>accessories</span></a></li>
我尝试将导航选择器添加到点击功能,但这不起作用。任何想法或建议都会非常感激。
干杯, 莱恩
答案 0 :(得分:1)
href
不是有效的选择器,因为$("/products/#hardware")
不起作用。但是,使用.hash
属性是完美的,因为您将获得$("#hardware")
。像这样使用它:
$("ul#product-type li a").click(function() {
$("ul#product-type li").removeClass("selected");
$(this).parent().addClass("selected");
$("div.panel").hide();
$(this.hash).show();
return false;
});