Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][JavaScript] problem z setTimeout
Forum PHP.pl > Forum > Przedszkole
elglt
Witam, mam taki kod:

  1. <body onload="go();">
  2. <div id="jeden">
  3.  
  4. </div>
  5. <div id="dwa">
  6.  
  7. </div>
  8. <div id="trzy">
  9.  
  10. </div>
  11.  
  12. <script type="text/javascript">
  13.  
  14. function go()
  15. {
  16. move();
  17. }
  18. function move() {
  19. var ileh = document.getElementById("dwa").style.top;
  20. document.getElementById("dwa").style.top+="100px";
  21.  
  22.  
  23. setTimeout("move()",100);
  24.  
  25. }


no i wykonuje sie tylko raz cokolwiek bym nie zrobil...
PrinceOfPersia
Cytat
document.getElementById("dwa").style.top+="100px";

nie możesz tak dodać. JavaScript nie konwertuje w ten sposób na liczbę. Musisz coś takiego zrobić:
Kod
var el = document.getElementById("dwa");
var ileh =  parseInt(el.style.top);
el.style.top = (ileh + 100) + "px";
_Borys_
  1. <!DOCTYPE HTML>
  2. <meta http-equiv="content-type" content="text/html" charset="utf-8"/>
  3. <style type="text/css">
  4.  
  5. #dwa{
  6. position:absolute;
  7. border:1px solid blue;
  8. top: 0px;left: 500px;
  9. width: 100px;
  10. height: 200px;
  11. text-align: center;
  12. }
  13.  
  14. <script type="text/javascript">
  15.  
  16. function go()
  17. {
  18. a = 10;
  19. mySet=setInterval(move,1000);
  20. }
  21. move = function move() {
  22. document.getElementById("dwa").style.top = a+"px";
  23. a+=10;
  24. }
  25. function stopMySet()
  26. {
  27. clearInterval(mySet);
  28. }
  29. </head>
  30. <body onload="go();">
  31. <div id="dwa">
  32. <button onclick="stopMySet()">Stop</button>
  33. </div>
  34. </body>
  35. </html>


setInterval();
albo setTimeout(); w pętli
elglt
dzieki
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.