DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   (X)HTML, JavaScript, DHTML, XML, CSS (http://www.devprotalk.com/forumdisplay.php?f=8)
-   -   Vezano za JavaScript kod (http://www.devprotalk.com/showthread.php?t=11246)

stanke 11. 10. 2012. 09:14

Vezano za JavaScript kod
 
Pozdrav svima, imam mali problem posto sam skoro poceo proramiranje u JavaScript-u pa mi je neophodna pomoc. Za prvu stranicu HTML-a, na index stranice neophodno mi je da se slike pojavljuju jedna za drugom ali svaka slika da se pojavi za 3-5 sekunde posle pojavljivanja druge, kada se pojavi zadnja slika to je to tako ostaje nama ponovnog prikazivanja (slike se prikazuju samo prilikom otvaranje index strane ili refresovanje). Guglao sam i uradio kod ali ne ide mi nesto, molim za pomoc spravku koda ili kod koji ce raditi. Kod je koji sam uradio je:

script type="text/javascript">
(function() {
var rotator = document.getElementById('rotator');
var imageDir = 'images/'; /
var delayInSeconds = 5;
// list image names
var images = ['image2.jpg', 'image3.jpg', 'image4.jpg', 'image1.jpg'];


var num = 0;
var changeImage = function() {
var len = images.length;
rotator.src = imageDir + images[num++];
if (num == len) {
num = 0;
}
};
setInterval(changeImage, delayInSeconds * 1000);
})();
</script>
Ovaj kod mi prikaze sve slike i promeni prvu sliku sa zadnjom posle

Br@nkoR 11. 10. 2012. 09:26

http://www.w3schools.com/jsref/met_w...arinterval.asp

ivanhoe 11. 10. 2012. 14:25

Trebaju ti 2 izmene:
Citat:

script type="text/javascript">
(function() {
var rotator = document.getElementById('rotator');
var imageDir = 'images/'; /
var delayInSeconds = 5;
// list image names
var images = ['image2.jpg', 'image3.jpg', 'image4.jpg', 'image1.jpg'];

var num = 0;
var changeImage = function() {
var len = images.length;
rotator.src = imageDir + images[num++];
if (num == len) {
clearInterval(rotateInterval);
}
};
var rotateInterval = setInterval(changeImage, delayInSeconds * 1000);
})();
</script>
Znaci umesto da se premota na pocetak sa num=0 ti stavis clearInterval() da prekines rad tajmera koji sam ja nazvao "rotateInterval"

stanke 11. 10. 2012. 14:48

Probao sam ne radi i dalje mi prikazuje sve slike odjednom, evo celog koda s HTML-om
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Untitled Document</title>
<script type="text/javascript">
(function() {
var rotator = document.getElementById('photo');
var imageDir = 'images/';
var delayInSeconds = 5;
// list image names
var images = ['dukes.png', 'sl1.png','logo01.png'];

var num = 0;
var changeImage = function() {
var len = images.length;
rotator.src = imageDir + images[num++];
if (num == len) {
clearInterval(rotateInterval);
}
};
var rotateInterval = setInterval(changeImage, delayInSeconds * 1000);
})();
</script>
</head>

<body>
<img src="images/dukes.png" id="photo">
<br>
<img src="images/log01.png" id="photo"><br>
<img src="images/sl1.png" id="photo">

</body>
</html>

Nemanja Avramović 11. 10. 2012. 15:52

Ovako na brzinu što mogu da primetim:

1) Ove slike već imaju src atribut u HTML kodu tako da će se slike učitati odmah nezavisno od JS-a
2) Imaš više elemenata sa istim ID-em, a to nije dozvoljeno

Br@nkoR 11. 10. 2012. 16:06

U html kodu su ti definisane sve slike (3 img html taga sa istim id atributom), ostavi samo jednu prvu, zatim potrebno je da sačekaš da se stranica učita, nešto kao:
Kôd:

window.addEventListener('load', function() {
// ovde dolazi tvoj js kod
});

ili:
Kôd:

window.onload = function() {
// ovde dolazi tvoj js kod
};

i iz niza images ukloni prvu sliku, pošto će već biti učitana, kako je ne bi dva puta učitavao i čekao da se sledeća slika pojavi za 10 sekundi.

edit: preteče me Nemanja, nisam proveravao da li ima novih poruka

stanke 13. 10. 2012. 19:03

i dalje imam problem kad hocu vise slika da prikazem u nizu, kad napisem kod za svaku sliku posebno sa posebnim id-em radi, hvala u svakom slucaju,

Br@nkoR 13. 10. 2012. 20:40

Sad mi nije jasno, da li je tebi potrebno ovo:
HTML kôd:

<!DOCTYPE HTML>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Untitled Document</title>
    <script type="text/javascript">
      window.onload = function() {
        var rotator = document.getElementById('photo');
        var imageDir = 'images/';
        var delayInSeconds = 5;
        var images = ['sl1.png','logo01.png'];
        var num = 0;
        var changeImage = function() {
          var len = images.length;
          rotator.src = imageDir + images[num++];
          if (num == len) {
            clearInterval(rotateInterval);
          }
        };
        var rotateInterval = setInterval(changeImage, delayInSeconds * 1000);
      }
  </script>
  </head>
  <body>
    <img src="images/dukes.png" id="photo" />
  </body>
</html>

ili ovo:
HTML kôd:

<!DOCTYPE HTML>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Untitled Document</title>
    <style>
      .photo {
        display: none;
      }
    </style>
    <script type="text/javascript">
      window.onload = function() {
        var images = document.getElementsByClassName('photo');
        var delayInSeconds = 5;
        var current = 0;
        images[0].style.display = 'inline-block';
        setTimeout(function() {
          current++;
          images[current].style.display = 'inline-block';
          if(current < images.length - 1) {
            setTimeout(arguments.callee, delayInSeconds * 1000);
          }
        }, delayInSeconds * 1000);
      }
  </script>

  </head>
  <body>
    <img src="images/dukes.png" class="photo" />
    <img src="images/sl1.png" class="photo" />
    <img src="images/logo01.png" class="photo" />
  </body>
</html>


webarto 13. 10. 2012. 20:53

(ノಠ益ಠ)ノ彡┻━┻

Nemanja Avramović 14. 10. 2012. 00:12

Off Topic: vrati astal gde je bio


Vreme je GMT +2. Trenutno vreme je 00:58.

Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.

Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.