![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 361 Pomógł: 10 Dołączył: 8.02.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mam kod i zastanawiam się czy i jak można by go skrócić czy możecie pomóc?
Ten post edytował KotWButach 3.07.2014, 14:51:58 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Czy zawartość pliku test.html jest jakaś wybitnie długa? Jeśli nie, to niech będzie normalnie w źródle.
Ukrycie .menu-filters załatwiłbym w CSS (display: none), a nie jQuery. |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 41 Pomógł: 1 Dołączył: 29.12.2004 Ostrzeżenie: (0%) ![]() ![]() |
Wszystko co da się zrobić za pomocą CSSa powinno się nim robić - to tak na przyszłość. Optymalnie w JS dodajesz tylko albo odejmujesz odpowiednie klasy.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Wszystko co da się zrobić za pomocą CSSa powinno się nim robić - to tak na przyszłość. Optymalnie w JS dodajesz tylko albo odejmujesz odpowiednie klasy. W tym przypadku mam inne zdanie. Po co bałaganić CSS kolejnymi klasami, kiedy jedyną różnicą jest widoczność elementu? To jest jedna (a może jedyna?) z tych właściwości, które lepiej zdają egzamin jako inline style. Ten post edytował SmokAnalog 4.07.2014, 23:23:14 |
|
|
![]()
Post
#5
|
|
![]() Grupa: Nieautoryzowani Postów: 2 249 Pomógł: 305 Dołączył: 2.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
W tym przypadku mam inne zdanie. Po co bałaganić CSS kolejnymi klasami, kiedy jedyną różnicą jest widoczność elementu? To jest jedna (a może jedyna?) z tych właściwości, które lepiej zdają egzamin jako inline style. I wtedy zaśmiecisz HTML. Struktura dokumentu CSS naprawdę nie ucierpi jeśli dodasz do niej dwie klasy: .hidden, .visible. A style inline są zawsze "be". -------------------- Google knows the answer...
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
A style inline są zawsze "be". To twoje zdanie ![]() |
|
|
![]()
Post
#7
|
|
![]() Grupa: Nieautoryzowani Postów: 2 249 Pomógł: 305 Dołączył: 2.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
To twoje zdanie ![]() Klasa ma zasadniczy jeden argument "za". Co w przypadku n elementów? Wstawiasz wszędzie style inline? Poza tym, to nie odnosi się tylko do tymczasowego stanu - to zwykła klasa helpera i tyle. -------------------- Google knows the answer...
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Ap porem zmiana pierdyliard styli inline doprowadza kolejnych programistów do szału.
Jedynym miejscem gdzie akceptuję inline są newslettery. |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 361 Pomógł: 10 Dołączył: 8.02.2012 Ostrzeżenie: (0%) ![]() ![]() |
Dziękuje wam za te porpowiedzi, staram się własnie nie używać Jquery ale w tym przypadku uznałem że trzeba bo ten kod odpowiedzialny jest za każdą kolumnę których jest bardzo wiele:(.
|
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 41 Pomógł: 1 Dołączył: 29.12.2004 Ostrzeżenie: (0%) ![]() ![]() |
Nie chodzi o zaśmiecanie kodu bądź nie ale o wydajność. Aczkolwiek oczywiście w tym przypadku wydajność nie ma wielkiego znaczenia bo kwestia jest tylko ukrycia lub odkrycia jednego elementu.
|
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Trzeba by sprawdzić z ciekawości co jest wydajniejsze, bo coś podejrzewam, że .hide() szybciej zadziała niż dodanie klasy
![]() |
|
|
![]()
Post
#14
|
|
![]() Grupa: Nieautoryzowani Postów: 2 249 Pomógł: 305 Dołączył: 2.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Trzeba by sprawdzić z ciekawości co jest wydajniejsze, bo coś podejrzewam, że .hide() szybciej zadziała niż dodanie klasy ![]() Zdecydowanie klasa: http://jsperf.com/show-vs-addclass. -------------------- Google knows the answer...
|
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 41 Pomógł: 1 Dołączył: 29.12.2004 Ostrzeżenie: (0%) ![]() ![]() |
W przypadku animacji jeżeli robisz to za pomocą jquery przy każdej najmniejszej zmianie renderowana jest cala strona, css przelicza tylko jeden element. Sam odpowiedz sobie co jest szybsze
![]() |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 361 Pomógł: 10 Dołączył: 8.02.2012 Ostrzeżenie: (0%) ![]() ![]() |
Cóz mogę powiedzieć
![]() ![]() |
|
|
![]()
Post
#17
|
|
![]() Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Zadałeś mądre pytanie. W dzisiejszych czasach czytelność rzeczywiście jest ważniejsza, zwłaszcza po stronie klienta. O ile oczywiście nie mówimy o odczuwalnych różnicach. Ale śmiać mi się chce, gdy ktoś pisze kod na 10 linii zamiast na 3, bo skrypt działa 0.03 sekundy zamiast 0.08.
|
|
|
![]()
Post
#18
|
|
![]() Grupa: Zarejestrowani Postów: 41 Pomógł: 1 Dołączył: 29.12.2004 Ostrzeżenie: (0%) ![]() ![]() |
Czytelność kodu po stronie klienta? A po co mu to? Kod ma się wykonywać. I powinieneś go dzielić na dwa rodzaje:
1. Kod dla "człowieka" (w domyśle programisty) 2. Kod dla maszyny (w domyśle serwera/przeglądarki) Kod dla człowieka powinien być maksymalnie przejrzysty, łatwo edytowalny i skalowalny. A po przekompilowaniu powinien być maksymalnie wydajny. I tyle. Dlatego używa się SASSa, Lessa, CoffeeScript, HAMLa i podobnych, żeby ułatwić pracę człowiekowi a potem dla maszyny wygenerować maksymalnie wydajny kod. Pewnie, że nie ma różnicy w przypadku prostej strony gdzie jest kilkaset linii css i kilka hide(), show(). Ale po co wyrabiać sobie złe nawyki? Po co męczyć się potem skoro i tak trzeba będzie się tego oduczyć w momencie gdy przyjdzie nam pracować nad czymś dużym i konkretnym. |
|
|
![]()
Post
#19
|
|
![]() Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Miałem na myśli kod, który się wykonuje po stronie klienta. Wspomniałem o tym dlatego, że to są w znacznej większości przypadków różnice totalnie nieważne. Wyjątkiem są strony, które wyświetlają wiele elementów jednocześnie lub zaawansowane animacje. Strona serwera to już inna bajka, bo serwer musi obsługiwać wiele żądań.
|
|
|
![]()
Post
#20
|
|
![]() Grupa: Nieautoryzowani Postów: 2 249 Pomógł: 305 Dołączył: 2.10.2006 Ostrzeżenie: (0%) ![]() ![]() |
Miałem na myśli kod, który się wykonuje po stronie klienta. Wspomniałem o tym dlatego, że to są w znacznej większości przypadków różnice totalnie nieważne. Wyjątkiem są strony, które wyświetlają wiele elementów jednocześnie lub zaawansowane animacje. Strona serwera to już inna bajka, bo serwer musi obsługiwać wiele żądań. Nawet przy prostych stronach, CSS/JS powinno się łączyć i minimalizować - w szczególności w przypadku kiedy strona ma sensownie działać na mobilkach. -------------------- Google knows the answer...
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 31.07.2025 - 10:47 |