Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript] .animate - dziwny limit
-Gość-
post
Post #1





Goście







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ę.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Michasko
post
Post #2





Grupa: Zarejestrowani
Postów: 283
Pomógł: 31
Dołączył: 10.01.2006
Skąd: Działoszyn

Ostrzeżenie: (0%)
-----


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/

Ten post edytował Michasko 23.01.2013, 10:49:35
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.10.2025 - 10:38