slideDown salta abruptamente no final
Eu construí um arranjo de submenu de menu bastante normal em um ULs aninhados em colunas verticais, usandoslideToggle
para expandir e recolher submenus.
O problema que estou tentando resolver está no modo como os submenus "pular" se abrem no final. (Estou testando na última versão do Chrome.) Provavelmente é mais perceptível no segundo submenu, "Benefícios". Ele não salta quando os menus estão em colapso, apenas quando estão se expandindo.
Eu pensei que o problema poderia ter algo a ver com o:after
estilos sendo adicionados somente quando o menu é totalmente expandido. Especificamente, a classecurrent
é adicionado à tag LI quando o menu é totalmente expandido. Mas comentar o código que alterna essa classe parece não ter efeito.
http://jsfiddle.net/mblase75/5gGum/
JS:
$(document).ready(function() {
$('#group-subnav > ul > li > a').on('click', function(e) {
e.preventDefault();
var $li = $(this).closest('li');
$li.find('ul').slideToggle('', function() {
$li.toggleClass('current')
}).end().siblings().find('ul').slideUp('', function() {
$li.siblings().removeClass('current')
}).end();
});
});
O CSS é considerável e o HTML não é notável.