![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 150 Pomógł: 1 Dołączył: 4.12.2010 Ostrzeżenie: (10%) ![]() ![]() |
Witam, napisałem sobie funkcję slider'a.
Jako container zdefiniowałem id div'a. Na stronie mam 2 slidery, dlatego też chciałbym ją odpalić 2 razy, oczywiście wartość container jest inna. Mam dwa div'y sliderów: Dlatego też odpalam funkcję:
W wyniku otrzymuję wykonanie funkcji raz w div'ie "sponsors", a raz w div'ie "partners". Chciałbym by funkcja została wykonana dla obydwu div'ów. Bardzo proszę Was o pomoc... |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
Chyba nie rozumiem... raz w "sponsors" + raz w "partners" = 2 wykonanie
jaśniej proszę |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 150 Pomógł: 1 Dołączył: 4.12.2010 Ostrzeżenie: (10%) ![]() ![]() |
Chyba nie rozumiem... raz w "sponsors" + raz w "partners" = 2 wykonanie jaśniej proszę Mamy 2 div'y: Odświeżam stronę i w wyniku otrzymuję: Odświeżam stronę jeszcze raz i w wyniku otrzymuję: A oczekuję takiego efektu: |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) ![]() ![]() |
Pokaż ciało funkcji vSlide.
ps. jeżeli to autoslider to tak łatwo się nie da ![]() |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 150 Pomógł: 1 Dołączył: 4.12.2010 Ostrzeżenie: (10%) ![]() ![]() |
Pokaż ciało funkcji vSlide. ps. jeżeli to autoslider to tak łatwo się nie da ![]()
Dodałem dwie zmienne do funkcji tj. max i height, a więc teraz wywołuję funkcję w taki sposób:
Pomyślałem trochę nad tym i sądzę, że problem może tkwić w zmiennej id, próbowałem jednak ze zmienną globalną:
jednak nie przyniosło to oczekiwanego rezultatu... |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%) ![]() ![]() |
window.onload = startLoading;
powyższe wykona Ci się tylko raz i tylko jedno przypisanie a widzę, iż Twoją intencją było, by dla wszystkich po załadowaniu strony... poza tym daj to live gdzieś gdyż nie chce mi się aż tak dokładnie analizować wszystko na sucho... edit. ps może tak na szybko pomoże coś w stylu:
tylko przy szybkim załadowaniu strony a zbyt późnym ajax'a też to się nie wykona, skoro korzystasz z jQ to zamiast: window.onload = startLoading; mogłeś napisać: $(startLoading); Ten post edytował zegarek84 9.02.2012, 18:28:50 -------------------- Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 150 Pomógł: 1 Dołączył: 4.12.2010 Ostrzeżenie: (10%) ![]() ![]() |
window.onload = startLoading; powyższe wykona Ci się tylko raz i tylko jedno przypisanie a widzę, iż Twoją intencją było, by dla wszystkich po załadowaniu strony... poza tym daj to live gdzieś gdyż nie chce mi się aż tak dokładnie analizować wszystko na sucho... Super ! Po zamianie:
na
funkcja wykonuje się w obydwu div'ach jednak nadal występuje problem z ID ![]() Zmieniłem
na
w wyniku czego otrzymałem dobrze ponumerowane elementy: jednak teraz obrazki wyświetlają się tylko w div'ie "sponsors" gdyż jest problem z pozostałymi zmiennymi. Moim zdaniem teraz trzeba jakoś przechwycić wartość zmiennej "id" po zakończeniu wykonywania funkcji i przerzucić ją do zmiennej "start", ponieważ odpowiada ona za id elementu od którego ma zacząć się wyświetlanie obrazków. edit. ps może tak na szybko pomoże coś w stylu:
tylko przy szybkim załadowaniu strony a zbyt późnym ajax'a też to się nie wykona, skoro korzystasz z jQ to zamiast: window.onload = startLoading; mogłeś napisać: $(startLoading); to już chyba mamy za sobą bo funkcja się ładnie odpala wielokrotnie ![]() Ten post edytował peja1990 9.02.2012, 18:46:55 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%) ![]() ![]() |
prawie...
choć masz zmienną id definiowaną globalnie to od razu strukturalnie/liniowo/synchronicznie nadajesz wartości zmiennym start, stop i active, więc jest tak, jakby id miało inicjującą wartość 0... z kolei dalej id zmieniasz asynchronicznie/zdarzeniowo... ustawiaj te zmienne względem id... tak na szybko modyfikacje które mogą pomóc (a i tak cały kod mi się nie podoba ;p): zamień: id += 1; stop += 1; na: id += 1; stop = id; przed pętlą: for(var i=0; i<temp.length; i++) { spróbuj dać: start = active = id + 1; nic nie gwarantuję ;p - nie uruchamiałem tego kodu -------------------- Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.07.2025 - 10:13 |