简体   繁体   English

SlideUp / Slidedown-按钮是关闭div的子级,不触发父级

[英]SlideUp/Slidedown - Button is child of closing div and doesn'trigger parent

I have a little slideup, slidedown system. 我有一些幻灯片,幻灯片系统。 width some fading in it. 宽一些褪色。 Everything works fine, except from the slide up function. 除向上滑动功能外,其他所有功能都正常。 That does not seem to change the display back to none. 这似乎并没有将显示更改回无显示。

Here is a Fiddle: Slide Up/Down Fiddle 这是一个小提琴: 向上/向下滑动小提琴

HTML 的HTML

   <div class="standorte-m-wrapper">
      <div class="panel-m up">
        <div class="pan-item-m">
          <div class="adres-wrap-m">
            <button  class="mobile" data-ajaxFile="0">ZU-1
            <i class="icon-down-open-2 iset"></i></button>
        </div> 
    </div><!--
    --><div class="pan-item-m">
        <div class="adres-wrap-m">
            <button  class="mobile" data-ajaxFile="1">ZU-2<i class="icon-down-open-2 iset"></i></button>
        </div>
    </div><!--
    --><div class="pan-item-m">
        <div class="adres-wrap-m">
            <button  class="mobile" data-ajaxFile="2">BS<i class="icon-down-open-2 iset"></i></button>
        </div>
    </div><!--
    --><div class="pan-item-m">
        <div class="adres-wrap-m">
            <button  class="mobile" data-ajaxFile="3">LU<i class="icon-down-open-2 iset"></i></button>
        </div>
    </div>
</div>
<div id="open" class="panel-m down">
    <div class="close-button">
        <a href="#" id="close-m" class="close"><i class="icon-cancel"></i></a>
    </div>
    <div id="content">
        <div id="php-content-m"></div>
    </div>
</div>

JS JS

    $('.adres-wrap-m > button').on('click', function() {
     if ($('.panel-m.up').hasClass('open')) {
     //alert('already open');
     } else {
     $('.panel-m.up').addClass('open');
     $('.standorte-m-wrapper').addClass('expand');
     $('.panel-m.down').slideDown(1000);
     }
     $('#php-content-m').html(ajaxFiles[$(this).attr('data-ajaxFile')]);
     setTimeout(function (){
     $('.panel-m.down div').fadeIn(400);
     }, 500);
     });
     $('#close-m').on('click', function() {
     $('.panel-m.down div').fadeOut(400);
     setTimeout(function (){
     $('.panel-m.up').removeClass('open');
     $('.standorte-m-wrapper').removeClass('expand');
     $('#close-m').parent().css("display", "block");
     $('.pannel-m.down').slideUp(1000);
     }, 500);
     });
     });

Looks like you have a typo in $('#close-m').on('click', function() 看起来您在$('#close-m').on('click', function()

Change $('.pannel-m.down').slideUp(1000); 更改$('.pannel-m.down').slideUp(1000); to $('.panel-m.down').slideUp(1000); $('.panel-m.down').slideUp(1000);

Worked for me 为我工作

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM