2017-05-31 150 views
1

我有多個按鈕.expandable-container-mobile類。關閉其他打開的div當切換其中一個div

當我切換按鈕時,它會展開。

目前,當我打開另一個div先前打開的div不會關閉,但我試圖關閉其他部分,下面是我的代碼:

$(".expandable-container-mobile").click(function() { 
    $(this).children('.mobile-show-section').stop().slideToggle(700); 
    $(this).not.('.mobile-show-section').stop().slideUp(); 
}); 

HTML代碼如下:PHP代碼會生成行和按鈕:

<div class="expandable-container-mobile"> 
         <div class="expandable" id="<?php echo strtolower($actual_post_title); ?>-expandable"> 
          <div class="activator"> 
           <div class="section-title" id="<?php echo strtolower($actual_post_title); ?>"><?php echo $actual_post_title; ?></div> 
          </div> 
         </div> 
         <div class="mobile-show-section"> 
          <?php       
           $args = array(
            'sort_order' => 'asc', 
            'sort_column' => 'post_date', 
            'child_of' => $id 
           ); 

           $children = get_pages($args); 

           $children_ids = array(); 
           if (! empty($children)) 
            foreach ($children as $post) 
             $children_ids[] = $post->ID; 

           $arrlength = count($children_ids); 

           for($x = 0; $x < $arrlength; $x++) { 
           ?> 
            <a href="<?php echo get_permalink($children_ids[$x]); ?>"><?php echo get_the_title($children_ids[$x]); ?> </a> 
           <?php            
           }  
          ?> 
         </div> 
        </div> 
+0

您有一個額外的點'$(this).not。('。mobile-show-section')。stop()。slideUp();'應該是$(this ).not('。mobile-show-section')。stop()。slideUp();' – Razzildinho

+0

你能提供html代碼嗎? – Redrif

+0

按鈕其實是。激活劑類 – zacwhyyy

回答

1

您的代碼切換所有的孩子一個第二行效果基本show的.expandable-container-mobile不是.mobile-show-section

嘗試類似:

var el = $(this).find('.mobile-show-section');//get the current element 
el.stop().slideToggle(700);//toggle the current one 
$('.mobile-show-section').not(el).stop().slideUp();//hide the rest 
+1

輝煌!像魅力一樣工作:)感謝隊友! – zacwhyyy

+0

@zacwhyyy畢業生有幫助,不要忘記綠色複選框:) – madalinivascu

+1

肯定會標記爲一旦啓用滴答:)解決方案 – zacwhyyy