Передача переменной для запуска скрытия / отображения панелей - PullRequest
0 голосов
/ 29 октября 2010

У меня есть панель скрытия / отображения настроек, которая запускается из привязки элемента списка.Работает отлично.Проблема в том, что у меня также есть выпадающее меню в навигации сайта, которое также должно вызывать каждую панель с любой страницы сайта.Как скажем, у меня есть панели (в этом порядке), «Оборудование», «Программное обеспечение», «Аксессуары» на странице продуктов.Поэтому, когда я нахожусь на странице «О программе» и нажимаю «Программное обеспечение», ожидаемый результат - перейти на страницу «Продукты» и открыть панель «Программное обеспечение».Вот мой скрипт 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; });

Dropdown Nav Markup:

<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 Ответ

1 голос
/ 29 октября 2010

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; 
});
...