2013-08-12 29 views
11

我想用bootstrap制作一个新的wordpress模板。下拉菜单无法正常运行。第二次点击后显示:无。 我试图找出它,但我不能! 这里是我的网站地址:check out the services that has submenu第一次单击将ul样式设置为无后,引导菜单消失

这里是我的代码,以及:

<li id="menu-item-286" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-286 dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown">Services <b class="caret"></b></a> 
    <ul class="dropdown-menu"> 
     <li id="menu-item-228" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-228"> 
      <a href="http://seoirvine.co/business-directories-irvine/" class="dropdown-toggle" data-toggle="dropdown">Business Directories</a> 
     </li> 
     <li id="menu-item-231" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-231"> 
      <a href="http://seoirvine.co/ppc-optimization-irvine/" class="dropdown-toggle" data-toggle="dropdown">PPC optimization</a> 
     </li> 
     <li id="menu-item-232" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-232"> 
      <a href="http://seoirvine.co/press-release-and-blogs-irvine/" class="dropdown-toggle" data-toggle="dropdown">Press Release and Blogs</a> 
     </li> 
     <li id="menu-item-234" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-234"> 
      <a href="http://seoirvine.co/seo-sem-irvine/" class="dropdown-toggle" data-toggle="dropdown">SEO &amp; SEM Irvine</a> 
     </li> 
     <li id="menu-item-238" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-238"> 
      <a href="http://seoirvine.co/social-media-marketing-irvine/" class="dropdown-toggle" data-toggle="dropdown">Social Media Marketing</a> 
     </li> 
     <li id="menu-item-239" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-239"> 
      <a href="http://seoirvine.co/video-irvine/" class="dropdown-toggle" data-toggle="dropdown">Video Blogging</a> 
     </li> 
    </ul> 
</li> 

感谢

+0

可能重复: http://stackoverflow.com/q/10863821/1256403 –

+0

它看起来不错,按钮是toggli菜单显示就是它所要做的。 – lharby

回答

6

的问题是,当下拉切换回,style="display: none;"被追加到<li id="menu-item-286">。 我不认为你的代码有什么问题,而是考虑到其他JS的数量,这可能会导致冲突。

我试着删除“mootools.js”,问题得到解决。

3

我有更新bootstrap.js行号777

function clearMenus() { 
$(backdrop).remove() 
$(toggle).each(function (e) { 
    var $parent = getParent($(this)) 
    if (!$parent.hasClass('open')) return 
    $parent.trigger(e = $.Event('bs.dropdown')) 
    if (e.isDefaultPrevented()) return 
    $parent.removeClass('open') 
}) 
} 

这已经修复了这个问题

+0

非常感谢。我能问一下以前的代码有什么问题吗? – jackdh

+0

只是为了记录,你不需要编辑'bootstrap.js'文件来使其工作,只需在''之前'

0

试试吧。

在HTML

<ul id="myTab" class="nav nav-tabs"> 
    <li class="active"><a href="#link1" data-toggle="tab">Link1</a></li> 
    <li><a href="#Link2" data-toggle="tab">Link1</a></li> 
</ul> 
<div class="tab-content"> 
    <div class="tab-pane fade in active" id="link1"> 
     LINK1 
    </div> 
    <div class="tab-pane fade" id="web_design"> 
     LINK2 
    </div> 
</div> 

在JavaScript

window.addEvent('domready',function() {  
    Element.prototype.hide = function() { 
     $(function() { 
     $('#myTab li:eq(1) a').tab('show'); 
     });  
    }; 
}); 
0

你可能包括MooTools的更多模块 “Element.Shortcuts”(也被拉扯了作为一个依赖)。当您单击Bootstrap导航选项卡时,它将调用jquery.js库中的element.hide()调用。由于MooTools已将“隐藏”方法添加到元素中,并且它将display =“none”设置为空,您的选项卡将消失。

我实现此修复程序是通过添加“MT”做改变MooTools的Element.implement方法名称:

Element.implement({ 

    isDisplayedMT : function() { 
     return this.getStyle('display') != 'none'; 
    }, 

    isVisibleMT : function() { 
     var w = this.offsetWidth, h = this.offsetHeight; 
     return (w == 0 && h == 0) ? false : (w > 0 && h > 0) ? true : this.style.display != 'none'; 
    }, 

    toggleMT : function() { 
     return this[this.isDisplayedMT() ? 'hide' : 'show'](); 
    }, 

    hideMT : function() { 
     var d; 
     try { 
      // IE fails here if the element is not in the dom 
      d = this.getStyle('display'); 
     } catch (e) { 
     } 
     if (d == 'none') 
      return this; 
     return this.store('element:_originalDisplay', d || '').setStyle('display', 'none'); 
    }, 

    showMT : function(display) { 
     if (!display && this.isDisplayedMT()) 
      return this; 
     display = display || this.retrieve('element:_originalDisplay') || 'block'; 
     return this.setStyle('display', (display == 'none') ? 'block' : display); 
    }, 

    swapClassMT : function(remove, add) { 
     return this.removeClass(remove).addClass(add); 
    } 

}); 

然后我做了搜索/替换MooTools的更多的这些方法和更新的名称。

我现在可以使用Bootstrap标签导航,但不更改该代码,并且仍然使用新名称调用MooTools便捷快捷方式。

0

这里是解决

刚去的prototype.js,找到代码

hide: function(element) { 
element = $(element); 
element.style.display = 'none'; 
return element; }, 

hide: function(element) { 
element = $(element); 
if(!isBootstrapEvent) 
{ 
    element.style.display = 'none'; 
} 
return element; }, 

其workging为我更换..的

相关问题