Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Slider OOP jquery, projekt początkującego
filem00n
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 16.08.2015

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


Witam.

Trochę poczytałem o obiektowym programowaniu i staram się stawiać pierwsze kroki, nie wiem czy robię dobrze i czy idę w dobrym kierunku więc mam do was prośbę o wskazanie mi moich błędów, przedstawiam wam mój projekt slidera.

Slider Codepen
Go to the top of the page
+Quote Post
Comandeer
post
Post #2





Grupa: Zarejestrowani
Postów: 1 268
Pomógł: 254
Dołączył: 11.06.2009
Skąd: Świętochłowice

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


Te animacje wydają mi się jakoś za bardzo skomplikowane. Osobiście bawiłbym się jedynie klasami elementów slidera, a całą resztę przerzucił na transition w CSS

Slider.prototype.goNext, Slider.prototype.goPrev i Slider.prototype.firstSlide (BTW rzeczowniki są dobrymi nazwami własności; metody powinny mieć "czasownikowe" nazwy) mają dużo tego samego kodu - warto to wydzielić do uniwersalnej metody Slider.prototype.changeSlide

Strzałki w lewo i prawo zrobiłbym jako konfigurowalne części slidera (w końcu to de facto podstawowe elementy GUI). Nie rozumiem też czemu przed każdą zmianą slajdu jest wywoływane Slider.prototype.reset? I czemu ten reset jest średnio resetem? wink.gif

Środkowanie obrazka w pionie slidera na pewno da się załatwić lepiej niż przeliczać wszystko w JS (wyświetlanie tabelkowe, flexbox…) → http://howtocenterincss.com/

Osobiście przemyślałbym oparcie tego o jQuery → http://ponyfoo.com/articles/why-i-write-pl...ascript-modules


--------------------
Go to the top of the page
+Quote Post
filem00n
post
Post #3





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 16.08.2015

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


Cytat(Comandeer @ 16.08.2015, 16:49:56 ) *
Te animacje wydają mi się jakoś za bardzo skomplikowane. Osobiście bawiłbym się jedynie klasami elementów slidera, a całą resztę przerzucił na transition w CSS

Slider.prototype.goNext, Slider.prototype.goPrev i Slider.prototype.firstSlide (BTW rzeczowniki są dobrymi nazwami własności; metody powinny mieć "czasownikowe" nazwy) mają dużo tego samego kodu - warto to wydzielić do uniwersalnej metody Slider.prototype.changeSlide

Strzałki w lewo i prawo zrobiłbym jako konfigurowalne części slidera (w końcu to de facto podstawowe elementy GUI). Nie rozumiem też czemu przed każdą zmianą slajdu jest wywoływane Slider.prototype.reset? I czemu ten reset jest średnio resetem? wink.gif

Środkowanie obrazka w pionie slidera na pewno da się załatwić lepiej niż przeliczać wszystko w JS (wyświetlanie tabelkowe, flexbox…) → http://howtocenterincss.com/

Osobiście przemyślałbym oparcie tego o jQuery → http://ponyfoo.com/articles/why-i-write-pl...ascript-modules



Co do nazw metod to faktycznie, popełniłem błąd, dzięki!

Reset ukrywa dany slajd by ten się mógł pojawić, czemu średnio jest resetem?

Masz jakieś zastrzeżenia, że jest to oparte o jquery?
Go to the top of the page
+Quote Post
Comandeer
post
Post #4





Grupa: Zarejestrowani
Postów: 1 268
Pomógł: 254
Dołączył: 11.06.2009
Skąd: Świętochłowice

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


Reset dla mnie to reset - przywraca slider do pierwotnej postaci. Ukrycie slajdu IMO to część procesu zmiany slajdu, nie resetu.

Tak, to, że jest oparte na jQuery wink.gif Obecnie coraz rzadziej trzeba używać takie monolityczne biblioteki. Jeśli cały projekt wykorzystuje jQ, to spoko - nie ma problemu. Ale jeśli jedynie slider miałby z tej biblioteki korzystać, to bym się nad nim zastanowił


--------------------
Go to the top of the page
+Quote Post
filem00n
post
Post #5





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 16.08.2015

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


hmm..

Czyli, jeżeli potrzebuję javascript do pojedynczych rzeczy na stronie typu slider, proste animacje to lepiej używać jquery.
Oprócz slidera(mam jeszcze jeden pomysł na zakodowanie go w inny sposócool.gif planuję także napisanie prostego messengera w przeglądarce(dodawanie kontaktów, konwersacje, konferencje), w takim już większym projekcie powinienem się kierować pod jakiś framework js(np. backbonejs?) lub w czystym js napisać od początku swój "system"?
Będę wdzięczny za odpowiedź czy dobrze rozumuję brzydal.gif
Go to the top of the page
+Quote Post
Comandeer
post
Post #6





Grupa: Zarejestrowani
Postów: 1 268
Pomógł: 254
Dołączył: 11.06.2009
Skąd: Świętochłowice

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


Nie, właśnie odwrotnie. Jeśli potrzebujesz to pojedynczych rzeczy, to lepiej nie stosować jQuery.

Natomiast taki messenger osobiści bym zbudował na Web Components/komponentach Reacta. Natomiast zrobienie tego na frameworku typu Backbone.js też jest dobrym pomysłem


--------------------
Go to the top of the page
+Quote Post
filem00n
post
Post #7





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 16.08.2015

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


Czyli taki slider napisać w czystym JS?

W takim razie do czego jest używane jQuery, do bardziej złożonych projektów?
Go to the top of the page
+Quote Post
Comandeer
post
Post #8





Grupa: Zarejestrowani
Postów: 1 268
Pomógł: 254
Dołączył: 11.06.2009
Skąd: Świętochłowice

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


Obecnie jQuery raczej jest powoli wycofywane, bo jego celem było naprawianie problemów z crossbrowserowym kodem: http://lea.verou.me/2015/04/jquery-considered-harmful/
Wciąż wiele projektów z niego korzysta, ale - jak mówiłem - raczej odchodzi się od tego typu monolitycznych rozwiązań.

Tak, spróbowałbym napisać taki slider w czystym JS.


--------------------
Go to the top of the page
+Quote Post
filem00n
post
Post #9





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 16.08.2015

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


no to biorę się poważnie za js, natomiast teraz napisałem kolejnego slidera, o innym trochę działaniu, ale bardziej przyjaznego do edycji.
Jedynym jego mankamentem jest to, że przy zmianie wielkości przeglądarki slajdy się trochę gubią, ale przejście do następnego slajdu czy też odświeżenie naprawia problem, który na urządzeniach się nie pojawi, tylko na przeglądarce.
i dzięki za cenne rady!

https://preview.c9.io/filem00n/responsive_s...er_by_filem00n/
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.08.2025 - 00:39