2017-02-10 19 views
-1

新的JavaScript和採取大學課程的遊戲編程。只使用記事本。現在我必須移動一個對象,在這種情況下,從左到右只是字母「o」。我的教授提供了對象在屏幕上上下的代碼,所以我試圖用「左」切換「上」,但它仍然不會移動。必須在Javascript中從左向右移動變量。教授已經上傳和下載樣本

教授樣本:

<!-- Microsoft Edge, IE10/11, FireFox, Chrome --> 
<!DOCTYPE html> 
<html> 
<head> 
    <script type="text/javascript"> 
     var bH = document.documentElement.clientHeight; // return the browser’s height 
     function init() { 
      var m1 = document.getElementById("m1"); // m1 represent m1 
      var y = parseInt(m1.style.top); // y-coordinate of m1 
      if (y >= bH) { 
       y = 0; 
      } else { 
       y++; 
      } 
      m1.style.top = y + "px"; 
      s1 = setTimeout("init()", 10); // wait 10 milliseconds and then call init 
     } 
     window.onload = function() { 
      init(); // onload event occurs right after a page is loaded 
     } 
    </script> 
</head> 
<body> 
    <span id="m1" style="position: absolute; top: 0px">o</span> 
</body> 
</html> 

我的嘗試:用;

<!-- Chrome --> 
<!DOCTYPE html> 
<html> 
<head> 
    <script type="text/javascript"> 
     var bW = document.documentElement.clientWidth; 
     function init() { 
      var o = document.getElementById("o"); 
      var x = parseInt(o.style.left); 
      if (x >= bW) { 
       x = 0; 
      } else { 
       x++; 
      } 
      o.style.left = x + "px"; 
      s1 = setTimeout("init()", 10); 
     } 
     window.onload = function() { 
      init(); 
     } 
    </script> 
</head> 
<body> 
    <span id="o" style="position: absolute; left: 0px">o</span> 
</body> 
</html> 
+1

刪除','在結束'window.onload = function(); '。 – prasanth

+0

好吧刪除它 – SukiTheDog

回答

1

兩三大誤區

  1. window.onload = function();後是錯誤的
  2. 不要添加里面的函數「 「像s1=setTimeout("init()", 10);(它的工作,否則還可以,但我不能正確地找出爲什麼不在你的情況下工作)

解決方案:(JS部分僅

var bW = document.documentElement.clientWidth; 

function init() { 
    var o = document.getElementById("o"); 
    var x = parseInt(o.style.left); 
    if (x >= bW){ 
    x = 0; 
    } 
    else{ 
    x++; 
    } 
    o.style.left = x + "px"; 
    s1=setTimeout(init(), 10); 
} 

window.onload = function(){ 
    init(); 
} 
+0

感謝修復語法,但是無法弄清楚爲什麼它不會工作。另一個人評論修復,我點擊「運行此代碼」按鈕,它在這裏工作哈哈, – SukiTheDog

相關問題