tengo una cantidad aleatoria de DIVs (mínimo 1, máximo de 10)jquery mostrar/ocultar divs y un contador de
<div id="container">
<div class="foo">Content</div> <!-- div 1 -->
<div class="foo">Content</div> <!-- div 2 -->
<div class="foo">Content</div> <!-- div 3 -->
<div class="foo">Content</div> <!-- div 4 -->
<div class="foo">Content</div> <!-- div 5 -->
<div class="foo">Content</div> <!-- i need this one hidden -->
<div class="foo">Content</div> <!-- and this one -->
</div>
Quiero los primeros 5 divs para ser visible (ya sea con .show() o con una clase, no importa). Cualquier DIV adicional debe estar oculto.
luego simular el "cierre" de un div con:
$('.foo').click(function(){
$(this).fadeOut('slow');
});
que elimina el div se hace clic, haciendo que todos los divs a continuación para subir un. Este es mi efecto deseado.
Sin embargo, necesito un poco de lógica aquí.
Si tengo menos de 5 DIVS, se debe deshabilitar la instalación cerrada. Si tengo más de 5 DIVs, cuando un div esté "cerrado", quiero que el siguiente div "oculto" se vuelva visible.
puedo añadir identificaciones a cada DIV, si es necesario con identificadores como "foo1" "foo2", etc.
La solución de Nick Craver es buena. Solo quiero señalar que usar 'slideDown' y' slideUp' donde estás usando 'fadeOut/In' hace un buen efecto con menos sacudidas. – lonesomeday
consejos atendidos, mucho más bonitos! – Ross