jquery lavaLamp не работает для одного поста Wordpress

Короткий вопрос: как вы используете JS/jquery для возврата индекса элемента внутри некоторого, учитывая его имя класса?

Длинный вопрос: я был в этой проблеме в течение нескольких часов, и я не могу найти решение. У меня есть сайт Wordpress, в котором используется тема, которая использует супер-рыбу и javery lavalamp. lavalamp отлично работает для категорий и страниц, но для одного сообщения lavalamp продолжает переходить к первому элементу списка.

Стоит отметить, что я провел серьезную поисковую работу, но ответы либо слишком стары, либо не подходят для моего случая. У меня есть jQuery 1.7.1, lavaLamp 1.3.3 (обновление до 1.3.5 ломает все) и суперфиш 1.4.8.

Я сузил это, что скрипт, который вызывает плагин lavaLamp, не возвращает правильный индекс текущей категории для одного сообщения. Вот как это выглядит:

var active_subpage = jQuery('ul.sf-menu ul li.current-cat, ul.sf-menu ul li.current_page_item').parents('li.top-level').prevAll().length;
var isHome = <?php if (is_front_page() || is_home()) echo('1'); else echo('0'); ?>; 

if (active_subpage) jQuery('ul.sf-menu').lavaLamp({ startItem: active_subpage });
else if (isHome === 1) jQuery('ul.sf-menu').lavaLamp({ startItem: 0 });
else jQuery('ul.sf-menu').lavaLamp();

Как мне изменить скрипт, чтобы он возвращал индекс "current-cat" для этого поста?

Я вставил то, что думаю, тебе нужно ЗДЕСЬ. Вы можете взглянуть на живой сайт ЗДЕСЬ.

Заранее большое спасибо!

1 ответ

Решение

Ваш запрос active_subpage работает только для элементов, которые можно выбрать из подменю, первый селектор не похоже, что он будет соответствовать чему-либо, потому что он ищет.current-cat в подменю, когда он фактически является верхним меню.
Я думаю, что это будет работать, если вы удалите второй <ul> в первом селекторе запроса active_page.
РЕДАКТИРОВАТЬ:
Я вижу проблему, li.current-cat это parents('li.top-level') что мы ищем.
Эти два запроса могут нуждаться в разделении.
Или измените первый селектор, чтобы включить потомка (<a>) чтобы parents('li.top-level') сделает матч

Другие вопросы по тегам