меню аккордеона jQuery - сохраняет меню аккордеона открытым для страницы, я иду

Ord() добивается цели с набором символов ASCII. Если Вы, однако, влезаете в байтовые строки (как UTF-8), Вы не повезли, и должны взломать его сами.

10
задан MelissaTA 21 October 2009 в 19:10
поделиться

3 ответа

Чтобы аккордеон автоматически открывал правильный раздел на основе URL-адреса, вы: Я начну с включения опции навигации примерно таким:

$('#accordion').accordion('option', 'navigation', true);

По умолчанию эта опция ищет ссылку заголовка аккордеона, имеющую href , которая соответствует фрагменту URL (если ваш URL http://somesite.com/about#contact , #contact - это фрагмент) и открывает раздел этой ссылки заголовка. Поскольку вы используете гармошку для перехода на разные страницы, у вас, вероятно, не будет фрагментов URL, с которыми можно было бы сопоставить, поэтому вы Придется написать собственный navigationFilter :

$('#accordion').accordion('option', 'navigationFilter', function(){ ... });

Вы можете использовать опцию navigationFilter , чтобы переопределить то, как плагин аккордеона сопоставляет ссылки заголовка с URL-адресом текущей страницы.

Итак Итак, у нас есть правая часть аккордеона, которую нужно открывать в зависимости от текущей страницы. Далее нам нужно выделить ссылку в том разделе, который соответствует странице. Вы сделаете это примерно так:

<script type="text/javascript">
  $(document).ready(function() {
    $('#accordion li').each(function() {
      var li = $(this);
      var a = $('a', li);
      if(/* compare the href of the 'a' element to the current URL */) {
        li.addClass('active');
      }
    });
  });
</script>

<div id="accordion">
  <h3><a href="#">Section 1</a></h3>
  <div>
    <ul>
      <li><a href="/about">About</a></li>
      <li><a href="/contact">Contact</a></li>
    </ul>
  </div>
  <h3><a href="#">Section 2</a></h3>
  <div>
    <ul>
      <li><a href="/help">Help</a></li>
      <li><a href="/faq">FAQ</a></li>
    </ul>
  </div>
</div>

Здесь мы просматриваем все ссылки на страницы в навигационной гармошке, выбираем ту, которая соответствует текущему URL-адресу, и применяем к ней класс .active , который затем можно стилизовать по-разному с помощью CSS.


Кроме того: другой, возможно, лучший способ выполнить вторую часть - создать страницу с классом .active , уже примененным к соответствующая ссылка, но это предполагает, что у вас есть контроль над серверной частью и вы знаете, как это делать. Фактически, если это так, вы можете пропустить всю вещь navigationFilter и сгенерировать блок