【问题标题】:jQuery Lava Lamp Navigation Problem in WordPressWordPress中的jQuery熔岩灯导航问题
【发布时间】:2010-09-13 04:48:34
【问题描述】:

我已经实现了一个熔岩灯风格的导航菜单(来自here)来与我的 WordpPress 博客的导航菜单配合使用。这个函数需要为它应该悬停的导航菜单链接选择一个 id 或类。我在函数的代码中设置了这个以选择 <li class="current_page_item">,这是 WordPress 应用到与您所在页面对应的导航列表元素的类。

问题在于,当您在帖子永久链接页面、类别页面或旧页面上时,熔岩灯功能不起作用,因为导航列表项都没有current_page_item 类,因为它们'不是导航菜单到达的页面。

在这些页面上(任何不在导航菜单上的页面),我只希望滑块默认为“主页”链接。

我能想到的最简单的解决方案是在运行熔岩灯函数之前编写一段 javascript 和 jQuery,它执行以下操作:if no <li> has class="current_page_item", then addclass "current_page_item" to first <li> 我只是不知道足够的 JS 或 jQuery 来编写这个。

谢谢。

【问题讨论】:

    标签: javascript jquery wordpress


    【解决方案1】:

    你不能!

    开个玩笑,就这样吧,

    $(function(){
       var $menu = $('ul#menu');
    
       // look for <li class="current_page_item"> , .length would return greater than zero if there is matched element. 
       if (! $menu.find('.current_page_item').length ) {
          // add the class on the first child if no matched...
          $menu.children('li:first-child').addClass('current_page_item');
       }
    
    });
    

    【讨论】:

    • 此代码按预期工作,但问题是我仍然从一开始就遇到相同的错误:currentPageItem.position() 为空 [Break on this error] left : currentPageItem.position ().left 我猜在熔岩灯功能触发之前它对 DOM 的处理速度不够快。
    • 我在熔岩灯函数上设置了一个 150 毫秒的 setTimeout,所以现在它可以工作了!谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多