在其他div中,jquery toggle类不工作

时间:2016-04-27 08:18:44

标签: javascript jquery

嗨伙计们,我在我的页面中进行切换效果,但是当我将页面的其他部分移近按钮时出现错误。如果按钮是html工作的一部分,如果例如在其他div中按钮不起作用。你可以找出发生了什么事吗?你也可以说我的jquery是干净的吗?还是需要改进?

HTML:

<a href="#menu-toggle" class="btn btn-sidebar-close" id="close">
    <i class="fa fa-times" aria-hidden="true"></i>
</a>

<a href="#menu-toggle" id="menu-toggle"data-toggle="tooltip>
    <i class="fa fa-search fa-2x" aria-hidden="true"></i>
</a>

JS:

$('#close').click(function(e) {
    e.preventDefault();
    $('#wrapper').toggleClass('toggled');
});

$('#menu-toggle').click(function(e) {
    e.preventDefault();
    $('#wrapper').toggleClass('toggled');
});

2 个答案:

答案 0 :(得分:1)

您忘了在“工具提示”之后关闭引用:

<a href="#menu-toggle" id="menu-toggle"data-toggle="tooltip">
   <i class="fa fa-search fa-2x" aria-hidden="true"></i>
</a>

否则,您的代码正在运行:

See this Fiddle

答案 1 :(得分:1)

改进可能是:

$('#close').click(function(e) {
       e.preventDefault();
       $('#wrapper').toggleClass('toggled');
});

$('#menu-toggle').click(function(e) {
       e.preventDefault();
       $('#wrapper').toggleClass('toggled');
});

在单个函数中,因为它们都包含相同的功能:

$('#close, #menu-toggle').click(function(e) {
      e.preventDefault();
      $('#wrapper').toggleClass('toggled');
});