jquery lavaLamp不适用于Wordpress单帖

时间:2012-04-27 18:35:31

标签: jquery wordpress menu lavalamp

简短的问题:在给定类名的情况下,如何使用JS / jquery返回某些元素的索引?

很长的问题:我已经遇到了这个问题几个小时,我似乎无法找到解决方案。我有一个Wordpress网站,它使用一个主题,利用superfish和lavalamp jquery。 lavalamp适用于类别和页面,但对于单个帖子,lavalamp会继续前往列表的第一项。

值得注意的是,我已经做了一些严肃的谷歌搜索,但答案要么太旧,要么它们对我的情况不起作用。我有jQuery 1.7.1,lavaLamp 1.3.3(更新到1.3.5会破坏所有内容)和superfish 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”索引?

我已经粘贴了我认为你需要的东西HERE。您可以查看实际网站HERE

非常感谢你!

1 个答案:

答案 0 :(得分:1)

您的active_subpage查询仅适用于可从子菜单中选择的元素,第一个选择器似乎不会匹配任何内容,因为它在子菜单中查找.current-cat,当它实际上是顶部菜单。
我认为如果您删除active_page查询的第一个选择器中的第二个<ul>,它将会起作用。左编辑:
我看到了问题,{{1 }}是我们正在寻找的li.current-cat
两个查询可能需要分开。
或者更改第一个选择器以包含后代(parents('li.top-level'))以便{ {1}}会匹配