Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JS] Dziwne zatrzymanie ruchu obiektu
Madlova
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 2.10.2012

Ostrzeżenie: (0%)
-----


Hej,

Z nieznanych mi przyczyn mój obrazek, który wprawiam w ruch zatrzymuje się zamiast od razu wykonywać inny ruch:
Chcę, by po kliknięciu start obrazek się poruszał, po kliknięciu w dany obrazek - zaczął poruszać się w inną stronę. Niestety obrazek za 1szym klikiem zatrzymuje się, a dopiero drugi klik wprawia go w ruch przeciwny. A tak być nie może:(

  1. <div id="start" onClick="start()">Start</div>
  2. <img src="robak.png" id="robak" onClick="zmiana()" style="position: absolute; top: 400px; left: 600px;"/>
  3.  
  4. <script type="text/javascript">
  5. var x=600;
  6. function start(){
  7. document.getElementById("start").innerHTML="";
  8.  
  9. document.getElementById("robak").style.left=x+'px';
  10. x--;
  11. t=setTimeout("start()",20);
  12. if(x==300){
  13. clearTimeout(t);
  14. }
  15.  
  16. }
  17. function zmiana(){
  18.  
  19. x++;
  20. document.getElementById("robak").style.right=x+'px';
  21.  
  22. t=setTimeout("zmiana()",20);
  23. if(x==900){
  24. clearTimeout(t);
  25. }
  26. }
  27.  


Wskazówki mile widziane!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
PrinceOfPersia
post
Post #2





Grupa: Zarejestrowani
Postów: 717
Pomógł: 120
Dołączył: 18.04.2009

Ostrzeżenie: (0%)
-----


to proste, po prostu w momencie jak klikniesz, funkcja start dalej się wykonuje, i ruch w prawo i ruch w lewo znoszą się wzajemnie.
dopisz to co jest pogrubione:
Cytat
var x=600;
var t;


oraz:
Cytat
clearTimeout(t);
t=setTimeout("zmiana()",20);


Ten post edytował PrinceOfPersia 6.04.2013, 07:41:23


--------------------
Go to the top of the page
+Quote Post
_Borys_
post
Post #3





Grupa: Zarejestrowani
Postów: 587
Pomógł: 190
Dołączył: 5.02.2011
Skąd: 64-800

Ostrzeżenie: (0%)
-----


  1. <!DOCTYPE HTML>
  2. <meta http-equiv="content-type" content="text/html" charset="utf-8"/>
  3. <script type="text/javascript">
  4. var move = false;
  5. var x=600;
  6. function start(){
  7. document.getElementById("start").innerHTML="";
  8. zmiana();
  9. }
  10. function zmiana(){
  11. document.getElementById("robak").style.left=x+'px';
  12. !move ? x-- : x++ ;
  13. x == 300 || x == 900 ? clearTimeout(t):t=setTimeout("zmiana()",20);
  14. }
  15. </head>
  16.  
  17. <div id="start" onClick="start();">Start</div>
  18. <img src="robak.png" id="robak" onClick="!move ? move = true : move = false;clearTimeout(t);zmiana();" style="position: absolute; top: 400px; left: 600px;"/>
  19.  
  20.  
  21.  
  22. </body>
  23. </html>


Ten post edytował _Borys_ 6.04.2013, 11:47:15
Go to the top of the page
+Quote Post
Madlova
post
Post #4





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 2.10.2012

Ostrzeżenie: (0%)
-----


Dzięki wielkie Wam obojgu!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 03:36