【问题标题】:Hide a div after user selects one option用户选择一个选项后隐藏 div
【发布时间】:2014-03-17 02:56:24
【问题描述】:

我没有找到我正在寻找的答案,所以我为什么要创建这个问题。我有一个 div 在点击时显示另一个,但我需要在用户选择其中一个选项后隐藏它(点击时出现的 div),我该怎么做?

当用户点击“#showmenu”时,div“.mob”出现,点击其中一个“.mob”后,“.mob”div消失。

P.S:对不起,我的英语不好。

HTML:

<div id="showmenu"><img src="images/mobile.png" /></div>
<div class="mob" style="display: none;">
   <ul>
      <a data-scroll href="#home"><li>INÍCIO</li></a>
      <a data-scroll href="#servicos"><li>EU FAÇO</li></a>
   </ul>
</div>

代码:

$(document).ready(function() {
    $('#showmenu').click(function() {
            $('.mob').slideToggle("fast");
    });
});

【问题讨论】:

    标签: mobile drop-down-menu show-hide


    【解决方案1】:

    我不知道您正在使用的引导程序或 jquery 插件,但根据给出的内容,我认为这应该可以工作。

    $(document).ready(function() {
        $('#showmenu').click(function() {
                $('.mob').slideToggle("fast");
                $('.mob a').click(function () {
                     $('.mob').slideToggle("fast");
                 });
        });
    });
    

    请注意这里存在性能问题,即可以更好地优化代码以在特定 div 中搜索类或元素而不是整个文档

    【讨论】:

    • 不确定这是否适用于 $('#showmenu').click 中的 $('.mob a').click。可以肯定的是,如果 $('.mob a').click 绑定在它之外,它会起作用。如果您不确定我的意思(或者如果我错了并且它按原样工作),我可以发布。比我给
    • 的 id 或类的建议要好,但你是对的:在大型网站上最好不要让 'a' 成为模式中最右边的。
  • 不管是在外面还是在里面,加起来效果都一样,在外面意味着一个事件会附加到元素点击,即使文档准备好,如果它在显示菜单内点击事件一旦单击显示菜单或每次单击时都会附加该功能。
  • 不错。推迟绑定。我不会想到的。我想我还是会把它放在外面,因为我会到处寻找它,而且我永远不会注意到它缩进并在另一个函数中。 :)
  • 【解决方案2】:

    如果你不打算去任何地方,这些真的应该是&lt;a&gt;吗?他们可以只是&lt;li&gt;吗?

    在那之后,我认为您想将 ID 分配给您拥有的 &lt;li&gt;,然后创建一个类似于您为 $('showmenu').click... 所做的函数来隐藏 .mob。

    或者如果&lt;li&gt; 都得到相同的处理,也许给他们所有相同的类,只为该类提供一个函数。

    【讨论】:

  • 是的,我在
  • 中添加了“close”类。谢谢大家的帮助!
  • 猜你喜欢
    相关资源
    最近更新 更多
    热门标签