2016-11-16 75 views
1

我现在坚持下面的这个问题,我希望你能帮助我。我真的很感激。WordPress的菜单+引导NavBar

1st - 我创建了WordPress的菜单(了解它的一切工作)。 2nd - 我在Wordpress菜单的html标签上实现了Bootstrap类(例如nav navbar-nav,下拉菜单,下拉菜单等)。 (得到它,并使其工作) 第三 - 为了使下拉工作,我用(preg_place)将默认(子菜单)替换为(下拉菜单),然后使功能工作我用(preg替换)再次插入一个类和数据切换到锚链接。

现在的问题是,锚链接似乎没有正常运行。

check it out here. (使用顶部的资产净值)

继承人在function.php

function new_submenu_class($menu) { 
$menu = preg_replace('/ class="sub-menu"/','/ class="dropdown-menu" /',$menu); 
return $menu; 
} 
add_filter('wp_nav_menu','new_submenu_class'); 

function add_menuclass($ulclass) { 
$ulclass = preg_replace('/<a/', '<a class="dropdown-toggle" data-toggle="dropdown" role="button"', $ulclass); 
return $ulclass; 
} 
add_filter('wp_nav_menu','add_menuclass'); 

感谢很多人的代码!

和btw ..我用了jQuery的第三级子菜单。这就是:

<script type="text/javascript"> 
$(document).ready(function() { 
$('.navbar a.dropdown-toggle').on('click', function(e) { 
var $el = $(this); 
var $parent = $(this).offsetParent(".dropdown-menu"); 
$(this).parent("li").toggleClass('open'); 
if(!$parent.parent().hasClass('nav')) { 
$el.next().css({"top": $el[0].offsetTop, "left": $parent.outerWidth() - 4}); 
    } 

    $('.nav li.open').not($(this).parents("li")).removeClass("open"); 

    return false; 
}); 
}); 

</script> 
+0

你的子导航有一个下拉开关类,这就是他们不工作 –

+0

我不完全知道如何修复你的代码,但你可以看看:https://github.com/twittem /可湿性粉剂自举-navwalker – jurruh

回答

0

在功能方面,我会努力改变这一行:

$('.navbar a.dropdown-toggle').on('click', function(e) { 

对于这一个:

$('.navbar').on('click', 'a.dropdown-toggle', function(e) { 

由于a.dropdown-toggle已经happended ...
也许它没有出现在“文档准备好”中,所以“delagation”语法可能有帮助。