javascript - slideToggle implementiert den Klappmenüeffekt, aber wie erkennt man, dass das Klicken auf diese Option erweitert wird und andere Optionen automatisch reduziert werden?
某草草
某草草 2017-07-05 11:06:06
0
3
870

Was ich erreichen möchte, ist ein ausklappbares Menü, aber der Schieberegler kann nur durch Klicken darauf ausgeblendet werden. Ich möchte auf andere Optionen klicken und das erweiterte Menü wird automatisch ausgeblendet.
Der Code lautet wie folgt:
$("> li", this).each(function () {

$(this).bind("click", function () { if($(this).hasClass('active')){ //$(".inner ol").hide(); //$(this).siblings("ol").slideToggle(settings.speed); $(this).next("ol").slideToggle(settings.speed); $(this).removeClass('active'); }else{ $(this).siblings('li').removeClass('active'); //$(".inner ol").hide(); $(this).addClass('active') $(this).next("ol").slideToggle(settings.speed); } }); }); //默认折叠 $("> ol", this).hide();
某草草
某草草

Antworte allen (3)
漂亮男人
$(this).siblings().slideUp()

    ringa_lee

    思路如下:

    1.单击当前菜单的时候,记录下来,先把所有打开的菜单全部关闭,最后再把自己开启

    $(".menu .menu-header").on("click",function(){ var toggleTarget=$(this); //先把其他得关掉 $(".menu .menu-content").removeClass("active"); $(this).find(".menu-content").addclass("active"); })

    以上代码只是一个演示例子,大概思路捋捋,看看行不

      Peter_Zhu

      网上查询了下资料,原来有个slideup()函数,用他替换hide()即可,感谢!
      $("> li", this).each(function () {

      $(this).bind("click", function () { if($(this).hasClass('active')){ $(".inner ol").slideUp('500'); $(this).removeClass('active'); }else{ $(this).siblings('li').removeClass('active'); $(".inner ol").slideUp('500'); $(this).addClass('active') $(this).next("ol").slideToggle(settings.speed); } }); }); //默认折叠 $("> ol", this).hide();
        Neueste Downloads
        Mehr>
        Web-Effekte
        Quellcode der Website
        Website-Materialien
        Frontend-Vorlage
        Über uns Haftungsausschluss Sitemap
        Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!