Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [jQuery] Metoda, która nic nie robi
SmokAnalog
post
Post #1





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Witajcie,

czy w jQuery istnieje metoda, która nic nie robi? Śpieszę wyjaśnić o co mi chodzi. Lubię korzystać z mechanizmu łańcuchowania i chciałbym zachować kontekst elementu nawet w sytuacji, kiedy dana metoda może (ale nie musi) być wykonana. Chodzi mi konkretnie o taką sytuację:

[JAVASCRIPT] pobierz, plaintext
  1. $("#element")
  2. .attr("id", "identyfikator")
  3. .addClass("element")
  4. [warunek ? "hide" : "nicNieRob"]()
  5. .appendTo("body")
  6. [warunek ? "fadeIn" : "nicNieRob"]();
[JAVASCRIPT] pobierz, plaintext


Dodaję element do body i w zależności od warunku animacja się odbywa lub nie. Dla pewności, że element nie pojawi się przed płynnym pojawieniem się, ukrywam go. Zamierzony efekt mogę oczywiście łatwo osiągnąć rozbijając kod na cztery części, jednak interesuje mnie bardziej eleganckie rozwiązanie. Co myślicie w ogóle o takiej składni?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
SmokAnalog
post
Post #2





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Nie mam aż takiego ciśnienia na łańcuchowanie i też zastanawiałem się czy w tym przypadku to na pewno najlepsze wyjście. Wymyśliłem trochę inne obejście problemu - z wykorzystaniem metody first(), last() itd. Są one nieco mylące w tym kontekście i rzeczywiście kod robi się trochę nieczytelny.

To, co zaproponowałeś, to wspomniany przeze mnie podział na cztery części i przy braku "pustej" metody zostanę przy tym rozwiązaniu. Czy taka kolejność wykonywania: ukrycie - dodanie do DOM - fadeIn, jest jedyną w tym przypadku zalecaną kolejnością? Czy wywołanie najpierw fadeIn, a potem append może spowodować efekt pojawienia się elementu, gdy ten jest w trakcie animacji? To takie pytanie raczej do dyskusji, sam zawsze dbam o logiczną kolejność wykonywania.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.10.2025 - 01:12