слайддаун резко скачет в конце
Я построил довольно нормальное расположение подменю меню в вертикальном столбце - вложенные UL, используяslideToggle
развернуть и свернуть подменю.
Проблема, которую я пытаюсь решить, заключается в том, как подменю «переходить»; открыть в самом конце. (Я тестирую в последней версии Chrome.) Вероятно, это наиболее заметно во втором подменю «Преимущества». Он не прыгает, когда меню сворачиваются, только когда они расширяются.
Я думал, что проблема может иметь какое-то отношение к:after
стили добавляются только тогда, когда меню полностью раскрыто. В частности, классcurrent
добавляется в тег LI после полного раскрытия меню. Но комментирование кода, который переключает этот класс, похоже, не имеет никакого эффекта.
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();
});
});
CSS значительный, а HTML ничем не примечательный.