Czy można uruchomić jednocześnie dwie animacje na dwóch różnych elementach? Potrzebuję przeciwieństwa tego pytania w kolejkach animacji Jquery .
Muszę zrobić coś takiego ...
$('#first').animate({ width: 200 }, 200);
$('#second').animate({ width: 600 }, 200);
ale aby uruchomić te dwa jednocześnie. Jedyne, co mogłem wymyślić, to użyć setTimeout
raz dla każdej animacji, ale nie sądzę, że jest to najlepsze rozwiązanie.
javascript
jquery
animation
Jakub Arnold
źródło
źródło
animate()
działa, powinny one działać jednocześnie.Odpowiedzi:
tak jest!
źródło
queue
zmiennej!To działałoby jednocześnie tak. co jeśli chcesz uruchomić dwie animacje na tym samym elemencie jednocześnie?
To kończy kolejkowanie animacji. aby uruchomić je jednocześnie, użyłbyś tylko jednej linii.
Czy istnieje inny sposób jednoczesnego uruchamiania dwóch różnych animacji na tym samym elemencie?
źródło
Myślę, że znalazłem rozwiązanie w dokumentacji jQuery:
wystarczy dodać:
queue: false
.źródło
Jeśli uruchomisz powyższe, będą one działały jednocześnie.
Oto kod testowy:
źródło
Chociaż prawdą jest, że kolejne wezwania do animacji będą wyglądać tak, jakby były uruchamiane w tym samym czasie, podstawową prawdą jest to, że są to odrębne animacje działające bardzo blisko równoległości.
Aby upewnić się, że animacje są uruchomione jednocześnie, użyj:
Kolejne animacje mogą być dodawane do kolejki „moja animacja” i wszystkie mogą być inicjowane pod warunkiem, że ostatnia animacja usunie je z kolejki.
Pozdrawiam, Anthony
źródło
Zobacz ten wspaniały wpis na blogu o animowaniu wartości w obiektach. Możesz następnie użyć tych wartości do animowania wszystkiego, co chcesz, w 100% jednocześnie!
http://www.josscrowcroft.com/2011/code/jquery-animate-increment-decrement-numeric-text-elements-value/
Użyłem tego w ten sposób, aby wsunąć / wyjąć:
źródło
Wysłanie mojej odpowiedzi, aby komuś pomóc, najwyżej oceniona odpowiedź nie rozwiała mojego skrupułów.
Kiedy zaimplementowałem następujące [z najwyższej odpowiedzi], moja animacja przewijania w pionie drżała w tę iz powrotem:
Odniosłem się do: W3 Schools Set Interval i to rozwiązało mój problem, mianowicie sekcję „Składnia”:
Mając moje parametry formularza
{ duration: 200, queue: false }
wymusiły czas trwania zerowy i sprawdził tylko parametry w celu uzyskania wskazówek.Długi i krótki, oto mój kod, jeśli chcesz zrozumieć, dlaczego to działa, przeczytaj link lub przeanalizuj oczekiwane parametry interwału:
Gdzie jest „autoScroll”:
Miłego kodowania!
źródło