![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 283 Pomógł: 11 Dołączył: 11.10.2004 Skąd: 3c Ostrzeżenie: (0%) ![]() ![]() |
Witam napisalem sobie taki kod na przerzucanie zdjec i dziala niestabilnie.
Skrypt dziala tak, ze pobiera z id nr i nr ten wskazuje na zrodlo w atrybucie rel ktore jest wyswietalne jako duze. Stworzylem nawigacje next i back ktora sie zapetla oraz przycisk close do zamkniecia powiekszonego zdjecia. Problem dokladnie wyglada to tak, ze skrypt dziala w porzadku jesli przerzucam zdjecia do tylu lub do przodu ale w granicach ilosci zdjec od 1 do 4 a jesli cofne z pierwszego zdjecia lub dam do przodu z 4 to skrypt zaczyna wyrzucac zamist zrodla undefined. Kolejny problem zaczyna sie wtedy gdy uzyje przycisku close - i ponownie wybiore zminiaturek zdjecie do powiekszenia - wtedy nawigacja next i back szwankuje... wywala czasami undefined. Może ktoś zna lepszy sposob pobierania numeru z wybranego diva (w moim przypadku id="fotx"), np bez użycia atrybutu id? Ja w tej chwili musze wyciagnac tresc z atrybutu id oraz wyciagnac usuwajac przednie "z" numer, nastepnie formatuje tresc na integer (parseInt) i dopiero moge stosować dzialania +/-. Bardzo prosze zeby ktos pomogl mi ogarnac problem.
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 450 Pomógł: 135 Dołączył: 18.11.2010 Skąd: Wschowa Ostrzeżenie: (0%) ![]() ![]() |
Witaj.
W Twoim skrypcie celnie zauważyłeś, aby sprawdzać wartość zmiennej idx i korygować ją. To samo musisz robić ze zmiennymi zrodlId oraz zrodlId2. Wprowadziłem te zmiany w liniach 14 oraz 24. Dodatkowo dodałem drugi parametr do wszystkich funkcji parseInt(), gdzie odpowiada on za ustawienie prawidłowego systemu liczbowego. Nam zależy tutaj na systemie dziesiętnym. Najlepiej zawsze podawać ten parametr, aby uniknąć niespodzianek. Dodatkowo dopowiem, że przy inicjowaniu skryptu powinieneś zliczać wszystkie obrazki, aby nie mieć żadnych statycznych informacji w skrypcie. Gdybyś na przykład teraz chciał dać 10 obrazków - musiałbyś zmieniać skrypt - dzięki zliczaniu na samym początku - mógłbyś tego uniknąć. Oto kod:
Demo masz tutaj: http://jsfiddle.net/pqdQz/3/show/ Pełny kod tutaj: http://jsfiddle.net/pqdQz/3/ Pozdrawiam. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 26.09.2025 - 02:52 |