【问题标题】:jquery lavaLamp not working for Wordpress single postjquery lavaLamp 不适用于 Wordpress 单篇文章
【发布时间】:2012-04-27 18:35:31
【问题描述】:

小问题:如何使用 JS/jquery 返回 some 中的元素的索引,给定它的类名?

长问题:我已经解决了这个问题几个小时,但似乎找不到解决方案。我有一个 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();

如何修改脚本以返回该帖子的“当前猫”的索引?

我已经粘贴了我认为您需要的内容 HERE。大家可以去现场看直播HERE

非常感谢您!

【问题讨论】:

    标签: jquery wordpress menu lavalamp


    【解决方案1】:

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

    【讨论】:

    • 试过了,没用 :( 根据这个逻辑,第二个选择器也不应该起作用,但它确实起作用了。
    • 经过一番调查,我发现您拥有的代码不是问题页面上的内容。
    • 要回答您的问题,是的,这就是问题所在。一旦我在第一个选择器的末尾添加了“a”,事情就开始按预期工作了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多