Dodałem więc pewne animacje do rozwijanych menu, ale z jakiegoś powodu najbardziej akceptowana odpowiedź (Adding a slide effect to bootstrap dropdown) wydaje się pękać lub stać się "zwykłą" wielkością podczas przesuwania w małych rozmiarach okien .Rozgałęzienie Bootstrap 3 Rozproszone Dziwne zachowanie, gdy pasek nawigacji zwinął się
więc dziwne jest to tylko wydaje się stało z animacją slideUp z artykułu Wysłany:
// ADD SLIDEDOWN ANIMATION TO DROPDOWN //
$('.dropdown').on('show.bs.dropdown', function(e){
$(this).find('.dropdown-menu').first().stop(true, true).slideDown(5000);
});
// ADD SLIDEUP ANIMATION TO DROPDOWN //
$('.dropdown').on('hide.bs.dropdown', function(e){
$(this).find('.dropdown-menu').first().stop(true, true).slideUp(5000);
});
mogę kopiować i wklejać te linie do konsoli Google Chrome na http://bootswatch.com/default/, zmienić rozdzielczość na taki, w którym zapadają się navbary i wszystkie się psują. (I przedłużone czasy animacji, aby spróbować rozwiązać.)
Normalnie:
Złamane slideUp:
Ale z jakiegoś powodu, jeśli biegnę $('.navbar').find('.dropdown-menu').slideUp(5000);
otrzymuję normalne menu zachowań:
Myśli?
Aktualizacja Działa z ostatnią opcją, ponieważ nie powoduje usunięcia klasy "otwartej" z otaczającego elementu LI listy rozwijanej. Być może klasa open
jest przedwcześnie usuwana podczas animacji.
Aktualizacja 2 mogę jakoś naprawić używając preventDefault:
// ADD SLIDEUP ANIMATION TO DROPDOWN //
$('.dropdown').on('hide.bs.dropdown', function(e){
e.preventDefault();
$(this).find('.dropdown-menu').first().stop(true, true).slideUp(300, function(){
$(this).parent().removeClass('open');
});
});
Jestem również widząc artefakt animacji na slideDown(), jak również. Wydaje się, że skacze na końcu. Wierzę, że jest to również związane z klasą "otwartą". –
Próbowałem powyższego rozwiązania i wydaje się, że działa dobrze dla mnie w tworzeniu animacji '.slideUp' tak bezproblemowo jak' .slideDown'. Powiedział, że nie używam Bootswatch. – Vercingetorix
Czy mówisz o rozwiązaniu z mojej aktualizacji 2? Wydaje się, że działa, ale mam wrażenie, że błąd znajduje się w pliku bootstrap.js, który nie czeka na przejście. Zwinięta animacja navbar działa bezbłędnie, ale jest zakodowana w inny sposób niż w liście rozwijanej. –