ugrás a tartalomhoz

javascript kép frissítése

bence04 · 2010. Júl. 18. (V), 20.39
sziasztok
egy olyan kérdésem lenne hogy hogyan lehetne megcsinálni azt hogy egy oldalon belül (vagy div mert nem gond megcsinálni) automatikusan frissítsen egy képet egy másikra kb 5 percenként?

kerestem google-ben itt a forumon de nem találtam használható dolgokat :S:S kérlek segítsetek.
 
1

egyszerü.

solkprog · 2010. Júl. 18. (V), 20.48
Az időzíteni a setTimeout függvénnyel kell, kicserélni a képet meg szerintem annyi hogy lecseréled a kép src attribútumát a kívántra. Vagy a megvalósítással van a gondod?
2

igen

bence04 · 2010. Júl. 18. (V), 20.50
igen a setTimeout-ról olvastam de nagyon nem vagyok otthon a javascriptben ezért nem tudom megvalósítani úgy ahogy kéne másodpercenként frissülő szöveg megy de pl kép a szöveg helyére nem :S:S
3

megoldható

ironwill · 2010. Júl. 18. (V), 20.54
A legegyszerűbb, ha csinálsz egy js függvényt, ami megcsinálja a kép cserét és ezt setInterval-al (ez csinálja az időzítést) meghatározott időközönként újra hívod.

Ha a konkrét feladatot megírod, akkor többet tudok segíteni.
4

ilyesmi

bence04 · 2010. Júl. 18. (V), 21.06
ilyesmit szeretnék csak ne szöveget hívjon meg hanem képet és úgy hogy 5 perc után 1 képet megint 5 perc után még 1 képet és így tovább...
<HTML>
<HEAD>
<TITLE>vp</TITLE>




//5 mp elteltével letölti saját magát

 function letolt(){
   setTimeout("location.href='vp.html'",5000);
 }

</SCRIPT>
</HEAD>
<!-- Az oldal letöltésekor (onLoad esemény) meghívja a letolt() függvényt,
ami frissíti az oldalt -->

<BODY onLoad='letolt()'>

<SCRIPT language="JavaScript">

  var most = new Date()      // Egy dátum objektum létrehozása


  document.write('Utolsó frissítés: ',most.toLocaleString())

</SCRIPT>
</BODY>
</html>
7

így:

solkprog · 2010. Júl. 18. (V), 21.43

<html>  
<head>  
</head>  
<body>  
  <img src="1.jpg" id="kep" alt="kep magyarazat" />
<script>
var letolt=function (){
	setInterval(function () {
		document.getElementById("kep").src='2.jpg';//2.jpg most fix szöveg, mert nemtudtam hogy milyen elven akarod megadni a következő kép nevét. (1.jpg, 2.jpg, 3.jpg, stb. vagy pl tömbben akarod tárolni és azt bejárni, ezért egyáltalán nem vesződtem vele inkább)
	},1000);  
}();
</script>  
 </body>  
</html>  
(Kollégának igaz van setInterval függvény...)
5

oké..

ironwill · 2010. Júl. 18. (V), 21.37
Oké, de..
<html>
<head>
<script type="text/javascript">
function changeImage() {
  try {
    var img = document.getElementById("changingImage");
    var iSrc = img.src;
    var fn = iSrc.substring(iSrc.lastIndexOf("img"), iSrc.lastIndexOf("."));
    var number = Number(fn.replace("img",""));
    
    number++;
    img.src = "images/img" + number + ".jpg";
  } catch (ex) {
  }
}

function startTimer() {
  var min = 60*1000;

  setInterval("changeImage()", 5*min);
}
</script>
</head>

<body onload="startTimer();">
    <img id="changingImage" src="images/img1.jpg" />
</body>
</html>
Elvileg ennyi lenne, de ez feltételezi, hogy a képek img névvel kezdődnek, jpg típusúak.. stb. Majd átírod a saját szükségeidnek megfelelően.
8

köszönöm

bence04 · 2010. Júl. 19. (H), 09.24
köszönöm a válaszokat elkezdem kiokoskodni ha valami nem sikerül szólok de remélem már menni fog :)
6

setTimeout, setInterval

ironwill · 2010. Júl. 18. (V), 21.41
setTimeout: egyszeri időzítésre szolgál (de rekurzívan tudja önmagát hívni egy függvény, így ez is végteleníthető)

setInterval: folyamatosan ismétlődő műveletet időzítéséhez