寫給兔小白的js教程(1)

最近我家兔小白要轉行學javascript了,不過又懶得抱着大本的書死啃語法,因而只好爲兔寶寫篇教程了。javascript

生物書上講,大段的文字對兔子有催眠效果,所以本教程爭取以有趣的示例爲主,防止兔子睡着。沒有兔子基因的物種以及高手們請繞道,由於本教程真的不會寫出什麼新鮮東西來,嘿嘿。html

先上個小遊戲吧,名字叫「追逐兔小白的兔小灰」,遊戲中移動鼠標就能移動兔小白,而兔小灰會不停的追兔小白:java


上代碼嘍,兔小白請認真閱讀,不要睡着:
瀏覽器

  
  
           
  
  
  1. <html> 
  2. <head> 
  3. <title> 
  4. 追逐兔小白的兔小灰 
  5. </title> 
  6. <style> 
  7. .bunny{ 
  8.     position:absolute; 
  9.     width:91px; 
  10.     height:152px; 
  11. </style> 
  12. <script> 
  13. /* 
  14.  * 定義一個名叫init的方法 
  15.  * 在body的onload時調用它,咱們用它來初始化一些東西 
  16.  */ 
  17. function init(){ 
  18.  
  19.     //setInterval方法用於設定一個定時器,它會每隔必定時間執行你指定的方法 
  20.     //第一個參數是一個function,它就是每次定時器觸發時須要執行的代碼 
  21.     //第二個參數50表示每50毫秒執行一次 
  22.     window.setInterval(function(){ 
  23.  
  24.         //document.getElementById表示按id獲取文檔中的指定元素 
  25.         var white = document.getElementById("white"),  
  26.             gray = document.getElementById("gray"); 
  27.  
  28.         //爲了讓兔小灰追着兔小白,咱們要判斷二者的位置 
  29.         //若是兔小灰當前的x座標(offsetLeft)大於兔小白的,就把兔小灰向左移動一點(減5個像素),反之就向右移動 
  30.         if(gray.offsetLeft > white.offsetLeft) 
  31.             gray.style.left = gray.offsetLeft - 5; 
  32.         else if(gray.offsetLeft < white.offsetLeft
  33.             gray.style.left = gray.offsetLeft + 5; 
  34.  
  35.         //同理處理縱座標 
  36.         if(gray.offsetTop > white.offsetTop) 
  37.             gray.style.top = gray.offsetTop - 5; 
  38.         else if(gray.offsetTop < white.offsetTop
  39.             gray.style.top = gray.offsetTop + 5; 
  40.  
  41.     }, 50); 
  42.      
  43.  
  44. /* 
  45.  * 定義一個名叫bunnyRun的方法 
  46.  * 在body的onmousemove時調用它,咱們用它來移動兔小白 
  47.  */ 
  48. function bunnyRun(){ 
  49.     //把兔小白的x與y座標設定成與鼠標當前位置一致,這樣就能用鼠標移動兔小白了 
  50.     var white = document.getElementById("white"); 
  51.     white.style.left = event.clientX; 
  52.     white.style.top = event.clientY; 
  53.  
  54. </script> 
  55. </head> 
  56. <!-- onload事件在文檔加載完成時觸發,onmousemove事件在鼠標於body上移動時觸發 --> 
  57. <body onload="init()" onmousemove="bunnyRun()"> 
  58.  
  59. <!-- 這兩張圖片分別表明兔小白和兔小灰 --> 
  60. <img class="bunny" id="white" src="white.gif" /> 
  61. <img class="bunny" id="gray" src="gray.gif" /> 
  62.  
  63. </body> 
  64. </html> 


若是兔寶看不太懂也沒有關係,第一篇教程只是讓你有個直觀的概念,下節課開始才正式講語法。
ide

從這個例子中咱們能夠看出如下幾點:spa

一、javascript和html結合得比較緊密,事實上,能夠說javascript就是爲了增長網頁表現力而專門發明的語言,雖然在其它領域它也頗有用武之地,不過仍是html中用得最多;xml

二、javascript不須要編譯,上面的文件扔到瀏覽器裏就能跑了,由於javascript是解釋型的語言,瀏覽器都內嵌了js解釋器;htm

三、javascript中用var定義變量(不區分類型),用function定義方法;blog

四、javascript中有事件的概念,在指定事件發生時能夠觸發用戶指定的方法;教程

OK,第一講就到這裏了,給兔小白留個做業:示例中兔小灰靠近兔小白的時間常常會抖啊抖的,想一想是爲何呢?

相關文章
相關標籤/搜索