Tengo un botón Jquery Ui (#toggleIcons) que, cuando se hace clic, alterna un div (.icons) para mostrar algunos íconos. También estoy usando Jquery Isotope e Infinitescroll para agregar nuevas imágenes dinámicamente. Lo que estoy tratando de hacer es tener una forma de mantener el estado slideToggle a medida que se agregan y actualizan las nuevas imágenes. Ifinitescroll tiene una función de devolución de llamada para que pueda actualizar la página y el estado de los íconos.
//My button click function $("#styleSwitcher #toggleIcons" ).click(function() { $('.icons').slideToggle('slow'); //for Isotope to update the layout $('#container').isotope('reLayout') return false; }); //code I am working on to put in callback to test if div is open or closed if($(".icons").is(":hidden")) { $('.icons').hide(); } else { $('.icons').show(); }No funciona. Cualquier ayuda o dirección sería apreciada. Gracias
Tienes tu condición al revés:
if ($(".icons").is(":visible")) { <----- $('.icons').hide(); } else { $('.icons').show(); }Ponga el script de estado de verificación en una función, déjelo esperar un poco.
$('.advance-view').click(function() { $('#advance-control').slideToggle('slow', function() { if ($('#advance-control').is(':hidden')) { $('.advance-view').css("background-color", "#2B509A"); } else { $('.advance-view').css("background-color", "#4D6837"); } }); });