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...
  1. <HTML>  
  2. <HEAD>  
  3. <TITLE>vp</TITLE>  
  4.   
  5.   
  6.   
  7.   
  8. //5 mp elteltével letölti saját magát  
  9.   
  10.  function letolt(){  
  11.    setTimeout("location.href='vp.html'",5000);  
  12.  }  
  13.   
  14. </SCRIPT>  
  15. </HEAD>  
  16. <!-- Az oldal letöltésekor (onLoad esemény) meghívja a letolt() függvényt,  
  17. ami frissíti az oldalt -->  
  18.   
  19. <BODY onLoad='letolt()'>  
  20.   
  21. <SCRIPT language="JavaScript">  
  22.   
  23.   var most = new Date()      // Egy dátum objektum létrehozása  
  24.   
  25.   
  26.   document.write('Utolsó frissítés: ',most.toLocaleString())  
  27.   
  28. </SCRIPT>  
  29. </BODY>  
  30. </html>  
7

így:

solkprog · 2010. Júl. 18. (V), 21.43
  1. <html>    
  2. <head>    
  3. </head>    
  4. <body>    
  5.   <img src="1.jpg" id="kep" alt="kep magyarazat" />  
  6. <script>  
  7. var letolt=function (){  
  8.     setInterval(function () {  
  9.         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)  
  10.     },1000);    
  11. }();  
  12. </script>    
  13.  </body>    
  14. </html>    
(Kollégának igaz van setInterval függvény...)
5

oké..

ironwill · 2010. Júl. 18. (V), 21.37
Oké, de..
  1. <html>  
  2. <head>  
  1. <script type="text/javascript">  
  2. function changeImage() {  
  3.   try {  
  4.     var img = document.getElementById("changingImage");  
  5.     var iSrc = img.src;  
  6.     var fn = iSrc.substring(iSrc.lastIndexOf("img"), iSrc.lastIndexOf("."));  
  7.     var number = Number(fn.replace("img",""));  
  8.       
  9.     number++;  
  10.     img.src = "images/img" + number + ".jpg";  
  11.   } catch (ex) {  
  12.   }  
  13. }  
  14.   
  15. function startTimer() {  
  16.   var min = 60*1000;  
  17.   
  18.   setInterval("changeImage()", 5*min);  
  19. }  
  20. </script>  
  1. </head>  
  2.   
  3. <body onload="startTimer();">  
  4.     <img id="changingImage" src="images/img1.jpg" />  
  5. </body>  
  6. </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