• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Powtarzanie w nieskończoność jednej funkcji (JavaScript)

Object Storage Arubacloud
0 głosów
986 wizyt
pytanie zadane 11 czerwca 2016 w JavaScript przez Krzysiek_34 Mądrala (6,050 p.)
zamknięte 14 czerwca 2016 przez Krzysiek_34

Witam.

Chciałbym, aby obrazki przesuwały się bez przerwy:
01, 02, 03, 04, 01, 02, 03, 04, 01, 02, 03, 04,............................................,i tak bez końca

A u mnie działa tak, że przesunie się obrazek 01, 02, 03, 04 i na tym koniec.
Próbowałem wielu sposobów, ale bez skutku.

Ma to działać jak na stronie:
https://progrower.coffeecup.com/picmarquee.html

Tu jest niezły przykład na JSFiddle:
http://jsfiddle.net/P2GxE/2/

 

Mój aktualny kod:

<head>
     
    <script type="text/javascript" src="marquee/crawler.js"></script>
     
    <script type="text/javascript" src="marquee/marquee.js"></script>
     
    <script type="text/javascript">
	(function(window, document, undefined) {
	 var spaceinterval = 1;
	 var timeinterval = 10;
	 var max;
	 var firstrun = true;

	 var gallery = function() {
	  var elem = document.getElementById("mycrawler");
	  if (elem) {
	   if (firstrun) {
	    max = elem.scrollWidth;

	    while (elem.scrollWidth < max * 2) {
	     var length = elem.children.length;
	     while (i < 10) {
	      ++i;
	      elem.appendChild(elem.children[i].cloneNode(true));
	     }
	     break;
	    }
	    firstrun = false;
	   }
	   if (elem.scrollLeft >= max) {
	    elem.scrollLeft -= max;
	   } else {
	    elem.scrollLeft += spaceinterval;
	   }
	  }
	 };
	 window.setInterval(gallery, timeinterval);
	})(window, document);
    </script>
 
</head>
  
<body>
     
    <div id="content">
     
        <div class="Object">
            <div id="mycrawler">
                <img src="marquee/images/01.jpg" />
                <img src="marquee/images/02.jpg" />
                <img src="marquee/images/03.jpg" />
                <img src="marquee/images/04.jpg" />
            </div>
        </div>
     
    </div>
     
</body>
#content
{
    background-color: #000000;
    width: 1100px;
    height: 400px;
}
     
.Object
{
    position: absolute;
    left: 225px;
    top: 350px;
    width: 900px;
}

Potraficie zrobić poprawkę w JavaScript, aby 4 obrazki przesuwały się w nieskończoność?

Będę bardzo wdzięczny za dużą pomoc.

komentarz zamknięcia: Problem nie został rozwiązany.

1 odpowiedź

0 głosów
odpowiedź 11 czerwca 2016 przez CzikaCarry Szeryf (75,340 p.)
Ten skrypt przesuwający obrazki zamknij w pętli wykonującej się w nieskończoność np while(1==1)
1
komentarz 13 czerwca 2016 przez Comandeer Guru (601,110 p.)
Jakim np.?
komentarz 13 czerwca 2016 przez Krzysiek_34 Mądrala (6,050 p.)

Przepraszam, że przerwę Wam Panowie tą dyskusję.smiley

Chciałbym, aby obrazki przesuwały się bez przerwy:
01, 02, 03, 01, 02, 03, 01, 02, 03,.............................................,i tak bez końca

A u mnie działa tak, że przesunie się obrazek 01, 02, 03, 03 i na tym koniec. Są postępy, ponieważ obrazek 03 znajduje się obok 03.

Jak zrobić, aby z powtórzeniami w nieskończoność sklonować 01, 02 i 03 do 01, 02 i 03 ?

<body>
     
    <div id="content">
     
        <div class="Object">
            <div id="mycrawler">
                <img src="marquee/images/01.jpg" />
                <img src="marquee/images/02.jpg" />
                <img src="marquee/images/03.jpg" />
            </div>
        </div>
     
    </div>
     
    <script type="text/javascript">
        for(var i = 1; i <= 20; i++){
            if(i % 2 != 0) continue;
 
            var elem = document.getElementById("mycrawler");
            elem.appendChild(elem.children[i].cloneNode(true));
        }
    </script>
     
</body>
komentarz 13 czerwca 2016 przez Ehlert Ekspert (212,670 p.)
komentarz 13 czerwca 2016 przez Comandeer Guru (601,110 p.)

Musiałbyś zbudować cały slider wokół tego kodu. Dorobić odpalanie tego w setTimeout/setInterval itd.

komentarz 13 czerwca 2016 przez Krzysiek_34 Mądrala (6,050 p.)

Aktualnie zrobiłem tak, że obrazki przesuwają się: 01, 02, 03, 01 i na tym koniec.

for(var i = 0; i <= 0; i++){
	if(i % 2 != 0) continue;

	var elem = document.getElementById("mycrawler");
	elem.appendChild(elem.children[i].cloneNode(true));
}

Jak zrobić, aby do 01 dołączyć 02?

W praktyce będzie wtedy: 01, 02, 03, 01, 02.

Podobne pytania

0 głosów
1 odpowiedź 2,071 wizyt
0 głosów
1 odpowiedź 202 wizyt
0 głosów
2 odpowiedzi 506 wizyt
pytanie zadane 19 października 2017 w JavaScript przez KerberosKam Nowicjusz (130 p.)

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,958 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...