![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 15.02.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Dopiero zaczynam zabawę programowaniem, a wybrałem na to JavaScript. Po zapoznaniu się z podstawowymi zasadami tworzenia czegokolwiek w tym języku chcę również poznać "gotowca" jakim jest framework jQuery. Jednakże dopadł mnie brak praktyki i po usiłowaniu stworzenia galerii na stronie opartej na identycznym kodzie html i css i sposobie animacji w JQ jednakże działających niezależnie względem siebie otrzymuje problem nie do przeskoczenia na moim poziomie. Próbowałem wprowadzać dodatkowe klasy pomocnicze w JS/JQ do już oklasowanych wcześniej elementów i mimo to nie chcą się dodać, próbowałem operować na położeniu obiektów w DOM ale i to odmówiło mi posłuszeństwa. Domyślam się, że zmiana klas strzałek to konieczność no ale tutaj właśnie jest moje zapytanie. Jak przerobić mój kod podany poniżej tak aby te galerie oparte były na tym samym kodzie animacji i hmtl ale pracowały niezależnie względem siebie? zależy mi na nie zmienianiu czystego html, a ewentualnej przeróbce tego kodu w JS/JQ.
PS: Temat pewnie przewija się od czasów wynalezienia koła ale mój mózg już nie potrafi wymyślić odpowiedniego zapytania w opcji "szukaj". Przepraszam z góry i jeśli temat juz był byłbym wdzięczny za odsyłacz. Pozdrawiam, -Moodey Ten post edytował Moodey 15.02.2012, 17:25:47 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Zrób to tak:
- pobierz tylko <div class="gal-container"> do zmiennej - jako, że jQuery robi i z tego tablicę( masz kilka elementów, które mają taką klasę ) to wertujesz po wszystkich ( each ) - teraz poznajesz magiczne słówko this, które zawsze w obrębie each wskazuje na aktualny element - następnie przerabiasz cały swój kod: a ) przyciski lewy, prawy itd. wyszukujesz właśnie w tym elemencie: czyli $( this ).pobierzDzieci( ',lewyPrzycisk') B ) reszta kodu praktycznie bez zmian, a jak już to na tyle proste, że sobie poradzisz Ten post edytował kamil4u 15.02.2012, 17:50:53 -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 15.02.2012 Ostrzeżenie: (0%) ![]() ![]() |
Zrób to tak: - pobierz tylko <div class="gal-container"> do zmiennej - jako, że jQuery robi i z tego tablicę( masz kilka elementów, które mają taką klasę ) to wertujesz po wszystkich ( each ) - teraz poznajesz magiczne słówko this, które zawsze w obrębie each wskazuje na aktualny element - następnie przerabiasz cały swój kod: a ) przyciski lewy, prawy itd. wyszukujesz właśnie w tym elemencie: czyli $( this ).pobierzDzieci( ',lewyPrzycisk') B ) reszta kodu praktycznie bez zmian, a jak już to na tyle proste, że sobie poradzisz Dziękuje ![]() ![]() ![]() ![]() EDIT: Hmm... mam problem... bo o ile dobrze zrozumialem chodziło bym zrobił to tak:
niby kod w przeglądarce nie wywala błędów, a mimo to nie działa... co robię nie tak? Ten post edytował Moodey 16.02.2012, 20:36:17 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Umieść to online z obrazkami. W całości.
Wydaje się, że jest dobrze( nie sprawdzałem warunków animacji, więc może tu jest błąd ) -------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 15.02.2012 Ostrzeżenie: (0%) ![]() ![]() |
Umieść to online z obrazkami. W całości. Wydaje się, że jest dobrze( nie sprawdzałem warunków animacji, więc może tu jest błąd ) Cały kod strony online znajduje się <<tutaj>> PS: strona jeszcze nie była jeszcze optymalizowana pod kątem przeglądarek za co przepraszam - działa poprawnie pod google chrome. Ten post edytował Moodey 17.02.2012, 03:41:01 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 2 350 Pomógł: 512 Dołączył: 4.01.2009 Skąd: Wrocław / Świdnica Ostrzeżenie: (0%) ![]() ![]() |
Zacznijmy od tego, że brakuje 'px' przy w animate.
I zmienna przesun jest niepotrzebna, gdyż możesz wykorzystać własność funkcji animate += lub -=. --po zamianach wrzuć wynik na serwer, jeżeli nadal nie będzie działać-- --zrób sobie jeszcze test czy w ogóle działa zdarzenie click na tych elementach - zamień całą funkcję na alert-a (tu tylko napisz, czy działało i nie wrzucaj na serwer) -- -------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 15.02.2012 Ostrzeżenie: (0%) ![]() ![]() |
Ha! udało mi się znaleźć błąd!
![]() ![]() chodziło o tą deklaracje elementu:
Jak widzisz ani ja ani Ty nie dopatrzyliśmy się tak przyziemnego błędu w pobraniu elementu html ![]() ![]() Dziękuje za pomoc i zaangażowanie ! ![]() ![]() PS: efekt poprawki zobaczysz >>>tutaj<<< Ten post edytował Moodey 17.02.2012, 22:40:51 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 26.04.2025 - 00:49 |