Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript] .animate - dziwny limit
Forum PHP.pl > Forum > Przedszkole
Gość
Wiatm!

mam kod JS na przewijanie obrazków.
obrazki są poukładane kolejno w divie, kod nadaje mu szerokość wszystkich obrazków w nim a kiedy naciśnie się na guzik, div z obrazkami się przesówa - w lewo lub w prawo.
Problem polega na tym że wszystko działa do 99 obrazków, kiedy obrazków jest ponad 100, każde wznowienie animacji do przesówania cofa całość do początku.

Szerokość diva i ilość obrazków jest dobrze odczytana, bo kiedy przewinie się całą animację bez przerywania to dochodzi do końca.
Z 98 obrazka przesówa sie do 99, a z 99 do 1 zamiast do 100 - tak jak by licznik animacji kończył sie na 99 obrazku, a potem nie wie co robić to zaczyna od początku.

link do przykładu:
http://jsfiddle.net/957UW/1/

sam JS:
CODE

$(document).ready(function(){
var imageSum = $(".sownica a").size();
var imageReelWidth = 140 * imageSum;
$(".sownica").css({'width' : imageReelWidth});


$(".prawo").mousedown(function() {



var imageWidth = $(".sownica").width();
var x = imageWidth - 854;


$(".sownica").animate({marginLeft: -x
}, 5000 );
});
$(".prawo").mouseup(function() {

$(".sownica").stop();
});

});


$(document).ready(function(){

$(".lewo").mousedown(function(){



$(".sownica").animate({marginLeft: 0 }, 5000 );
});
$(".lewo").mouseup(function() {

$(".sownica").stop();
});

});


Za pomoc lub podpowiedź z góry dziekuję.
Michasko
Jak już wrzucasz coś na fiddle'a, to upewnij się chociaż, że działa poprawnie. Przekopiuj style i wrzuć te obrazki na jakiś hosting, bo nikt ich z Twojego dysku nie odczyta :]
Poza tym, albo wrzuciłeś zły kod, albo wcale nie działał on tak, jak mówiłeś, lub tez wcale nie miałeś takiego problemu, jak mówiłeś.

No ale pomagając Ci:
1. Miałeś błędy HTML'a. Jeden przycisk zawierałeś poza "suwnicą", drugi w niej...jak chciałeś potem wracać w lewo?
2. Miałeś błędy CSS'a. Elementy w "suwnicy" powinny mieć float: left;, aby były obok siebie, zamiast pod sobą.

Wersja która u mnie działa (jest 120 "obrazków" - DIVów o różnych kolorach). Co dwudziesty ma niebieskie tło, ostatni (nr 120) - zielone.
http://jsfiddle.net/5AEJ4/8/
Gość
Dziękuję bardzo z poświęcony czas i pomoc, jednak nadal mam ten sam problem.
Co dziwne, skopiowałem dokładnie wszystko co mam do "jsFiddle" i tam wszystko działa, przekopiowałem puźniej z "jsFiddle" na stronę i w przeglądarce już nie działa?




Okazało się że miałem nie aktualny link do "jquery.min.js" , kiedy zaktualizowałem do nowszej wersji, wszystko działa jak należy.
Dziwne że tylko to nie działało i dopiero po przejechaniu 2/3 galerii.

Przepraszam za kłopot, mój błąd był głupi, ale gdyby nie przygoda z "jsFiddle" nigdy bym nie wpadł że o to może chodzić.

Michasko - jeszcze raz dziękuję.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.