传递变量以触发隐藏/显示面板

时间:2010-10-29 15:52:14

标签: jquery triggers hide show

我有一个从列表项锚点触发的面板隐藏/显示设置。效果很好。问题是,我还在网站导航中有一个下拉菜单,它还需要从网站上的任何页面触发每个面板。比方说,我在产品页面上有面板(按此顺序),“硬件”,“软件”,“附件”。因此,当我在“关于”页面上,然后单击“软件”时,预期的结果是将我带到“产品”页面并打开“软件”面板。这是面板的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>

我尝试将导航选择器添加到点击功能,但这不起作用。任何想法或建议都会非常感激。

干杯, 莱恩

1 个答案:

答案 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; 
});