1

我有这个 jQuery 代码,它工作正常。最后是一个简单的下拉菜单。单击“topbar”打开并关闭“topbarin”div。

$(document).ready(function(){
    $('.topbar').click(function(){
        $('.topbarin').fadeOut(400);
        if($(this).next('.topbarin').is(":visible"))
        {
        $(this).next('.topbarin').fadeOut(400);
        }
        else
        {
        $(this).next('.topbarin').fadeIn(400);
        }
    });
});

这里还有一些 HTML

<div class="fr"><div class="topbar">SMS Support phones</div>
            <ul class="topbarin">
              <li>Phone 1</li>
              <li>Phone 2</li></ul>
          </div>

但是,单击该菜单旁边的任何机会.topbarin以简单地淡出?

谢谢!

4

3 回答 3

4

您可以在您的代码之后添加此代码,当单击超出整个菜单时,它将淡出菜单。

 $(document).ready(function(){
    $('.fr').click(function(){
        $('ul.topbarin').toggle('slide');
    });
});
$(document).click(function(e){

    if (!$(e.target).hasClass('topbar') ) {
         $('.topbarin').fadeOut(400);
    }
});

html代码

<div class="fr">
    <div class="topbar">SMS Support phones</div>
            <ul class="topbarin">
              <li>Phone 1</li>
              <li>Phone 2</li>
           </ul>
</div>
于 2013-09-07T11:08:19.843 回答
1

您可以在您的代码之后添加此代码,当单击超出整个菜单时,它将淡出菜单。

$(document).click(function(e){

    if (!$(e.target).hasClass('topbar') ) {
         $('.topbarin').fadeOut(400);
    }
});
于 2013-09-07T05:26:13.500 回答
0

这可能会帮助您:-

$(document).ready(function(){

    $('.topbar, .topbarin li').click(function(){
        $('ul.topbarin').toggle('slide');
    });

})

小提琴链接小提琴

于 2013-09-07T05:29:29.420 回答