Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]Nieskończona pętla
Forum PHP.pl > Forum > Przedszkole
tomi1985
Hej,

próbuję zrobić nieskończona pętle ale coś nie wychodzi ;/

  1. $(document).ready(function(){
  2.  
  3. function moveObject(){
  4.  
  5. $(".obiekt").animate({top: '30px'}, "slow", "", t);
  6. }
  7.  
  8. function t(){
  9. moveObject()
  10. }
  11.  
  12. function start(){
  13. setTimeout(moveObject, 1000);
  14. }
  15.  
  16. start()
  17. });
slash^
setTimeout wykonuje funkcje tylko raz, to czego szukasz to setInterval
tomi1985
  1. $(document).ready(function(){
  2.  
  3. function moveObject(){
  4. $(".obiekt").animate({top: '30px'}, "slow");
  5. }
  6.  
  7. function start(){
  8. setInterval(moveObject, 1000);
  9. }
  10. start()
  11. });


lipa nadal tylko 1 x
slash^
Bo ustawiasz na sztywno pozycje 30px i jej nie zmieniasz smile.gif

Zobacz: http://jsfiddle.net/5wewty1e/
tomi1985
thx


hmmm a jak sie sprawdzało pozycję elementu biggrin.gif



ok mam biggrin.gif

position tongue.gif hehehe ale wstyd haha.gif

  1. $(document).ready(function(){
  2. var pos = 10
  3.  
  4. function moveObject(){
  5. $(".obiekt").animate({top:pos}, "slow");
  6. pos = pos + 10
  7. }
  8.  
  9. function start(){
  10. setInterval(moveObject, 1000);
  11. }
  12. start()
  13. });


  1. #last {
  2. padding:10px;
  3. border:1px solid black;
  4. height:300px;
  5. overflow: hidden;
  6. }
  7.  
  8. .obiekt {
  9. width:50px;
  10. height:50px;
  11. background:orange;
  12. position:relative;
  13. margin-bottom:10px;
  14.  
  15. }


  1. <div id="last">
  2. <div class="obiekt"></div>
  3. <div class="obiekt"></div>
  4. <div class="obiekt"></div>
  5. <div class="obiekt"></div>
  6. <div class="obiekt"></div>
  7. <div>


a jak zrobić, że jak div class='obiekt" przejdzie przez obrys div id="last" aby został na nowo pokazany na górze....

Chodzi mi o pasek pionowy z obiektami który porusza się pionowo cały czas

Obecnie działa mi tylko jeden raz...
slash^
To już nie jest takie proste, poszukaj jakiegoś skryptu typu carousel może.
tomi1985
mam taki skrypt ale chciałem to sam zrobic
com
warunek i modulo długość div i ustawienie poz na nowo smile.gif

Nic trudnego biggrin.gif
tomi1985
a czy mogłbyś jakis przyklad pokazać ?
com
[JAVASCRIPT] pobierz, plaintext
  1. if(pos%100 == 0)
  2. pos = 10;
[JAVASCRIPT] pobierz, plaintext


sory mój bład smile.gif
tomi1985
nie rozumiem tego przykładu... mógłbyś to jakos objaśnić?
com
http://www.wikiwand.com/pl/Modulo
Edytowałem bo zapomniałem o == 0 smile.gif
tomi1985
ok, ale i tak to nie bedzie działać tak jak chce...

ponieważ np.

mam 10 obiektów które chce wyświetlać w postaci pionowego paska który się przesuwa np. co 3 sek i zarazem jednocześnie były widoczne tylko 3 obiekty.
trueblue
Zdubluj w div#last tą samą grupę elementów.
Kiedy osiągniesz przesunięcie równe długości jednej grupy, czyli ostatni element pierwszej grupy się schowa, a pierwszy drugiej grupy będzie przy krawędzi, przestaw całość do pozycji początkowej (pierwszej element pierwszej grupy przy krawędzi). Osiągniesz efekt zapętlenia.
tomi1985
chodzi mi o efekt jak tutaj:

http://www.e-noclegi.eu/

"Ostatnio dodane obiekty
trueblue
No, to ponawiam swoje rozwiązanie.

EDIT: W Twoim przypadku wystarczy zduplikować pierwsze 3 elementy.
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.