2017-08-16 1 views
0

J'ai une fonction qui ouvre et (devrait) fermer une série de div. Disons que c'est un accordéon.Ouvrir fermer div avec le clic

<div class="cat_table_header" onclick="show_hide_table(this);"> 

Le problème est que le premier div de cet accordéon commence toujours visible, et je voudrais que cela commence fermé. Aussi, si je clique dessus, ne ferme pas, mais si je clique sur un autre div, il se ferme et ouvre le div cliqué.

Une suggestion?

+0

Il sera utile si vous pouvez fournir lien jsFiddle :) – Manjunath

+0

déjà cette réponse m'a aidé à trouver le javascript pour cela: – Travelbaba

Répondre

0

C'est le javascript:

jQuery(document).ready(function() { 
    jQuery(".cat_table_container").hide(); 
    jQuery(".cat_table_container:first").show(); 
}); 

function show_hide_table (table) { 
    table = jQuery(table).parent().find(".cat_table_container"); 
    if (jQuery(table).is(":visible")) { 
     if (jQuery(table).parents(".cat_container").attr("class") != "cat_container cat_container_parent") { 
      if (jQuery(".cat_container_parent .cat_table_container").length > 0) 
       jQuery(table).hide(); 
     } 
    } 
    else { 
     jQuery(".cat_table_container").hide(); 
     jQuery(".cat_container_parent .cat_table_container").show(); 
     jQuery(table).show(); 
    } 
} 
' 

Un grand merci