![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 999 Pomógł: 30 Dołączył: 14.01.2007 Skąd: wiesz ? Ostrzeżenie: (0%) ![]() ![]() |
Cześć,
Zrobiłem sobie slideshow. Niestety z niewyjaśnionych przyczyn wartość css('left') po ponownym odczytaniu jest zupełnie inna niż ustawiona przed chwilą.
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 782 Pomógł: 153 Dołączył: 21.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
Ile elementów DOM podpada pod ten selektor? Coś mi mówi że ustalasz atrybut left dla zbioru elementów a później go pobierasz. Nie wiem jak jQuery zachowuje się gdy gdy pobiera wartość stylu dla grupy elementów. Ewentualnie prześledź na drzewie atrybuty style (tam jQuery zapisuje swoje wartości) dla tego selektora i zobacz czy czymś się nie różnią od zdeklarowanej przez ciebie.
-------------------- Już mi się ani wiedzieć, ani tym bardziej myśleć nie chce.
[Think different]! |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 34 Pomógł: 11 Dołączył: 10.06.2011 Skąd: świdnica Ostrzeżenie: (0%) ![]() ![]() |
jesli tych elementow jest wiecej, to chyba przydaloby sie uzyc .each()
Kod $('.foo').each(function(){ $(this).css('left', ...) }) pozdrawiam |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 999 Pomógł: 30 Dołączył: 14.01.2007 Skąd: wiesz ? Ostrzeżenie: (0%) ![]() ![]() |
Taki element jest jeden.
Kiedy kliknę ponownie "next" powinien dodać kolejne 840 do atrybutu left ale ponownie dodaje 1008 ? |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 782 Pomógł: 153 Dołączył: 21.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Kiedy kliknę ponownie "next" powinien dodać kolejne 840 do atrybutu left ale ponownie dodaje 1008 Jak wyliczasz zmienną iNewLeft ? Sprawdź co zawiera i jaki wynik daje przemnożenie jej przez -1. Podejrzewam że pobierasz początkową wartość przesunięcia z DOM - ona zwraca 'auto' albo wartość+px, tego się nie da przemnożyć. -------------------- Już mi się ani wiedzieć, ani tym bardziej myśleć nie chce.
[Think different]! |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 34 Pomógł: 11 Dołączył: 10.06.2011 Skąd: świdnica Ostrzeżenie: (0%) ![]() ![]() |
Ja rowniez uwazam, ze blad wynika z "dziwnej" wartosci zmiennej iNewLeft (zapewne dodatek w postaci "px")
pobieraj wartosc left za pomoca $('.foo').position().left lub parseInt($('.foo').css('left')) |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 589 Pomógł: 91 Dołączył: 22.05.2008 Skąd: Gliwice Ostrzeżenie: (0%) ![]() ![]() |
@starach skrypt jest Twój tak?
Powiedz mi, masz to zrobione na niewidocznym pasku przewijania, tak? ;> -------------------- Moja gra - scraby.io
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 999 Pomógł: 30 Dołączył: 14.01.2007 Skąd: wiesz ? Ostrzeżenie: (0%) ![]() ![]() |
Tak to taki slideshow, ale znalazłem przyczynę. Okazało się że to była wina Google Chrome. Zapomniałem, że wieki temu włączyłem sobie kanał developerski i najwyraźniej w ostatniej aktualizacji był błąd. Wywalenie GC i zainstalowanie go z kanału stable rozwiązało problem.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 04:53 |