1. 程式人生 > >頁面03---練習除錯篇(程式是修改出來,不是寫出來的)

頁面03---練習除錯篇(程式是修改出來,不是寫出來的)

練習的目的在於練熟,也在於積累,有的時候我們寫一些js的特效,你會通常這樣子,會在百度搜索,然後在相應的網站找到我們所需要的特別效果,但通常需求我們自己再修改,如果你做了這次的例子之後再將其記錄下來,你下次再需要做同樣特效時,找回以前的例子看一看就好了,比你再慢慢從百度上面找那會快不少。

更多幹貨請關注微信公眾號:nedsoft

qrcode_for_gh_47ec3fefc046_1280.jpg


其實對於練習,也沒有太多的技巧可言,無非就一個字---勤,在練習工程中你可以看到很多方法,這裡推薦一個前端的練習網站w3school.com.cn這個

1.jpg

這裡不僅可以練習,還可以看到例如前端的API一類,是一個對於練習和查詢一些JS的類還有方法的一個不錯的網站。

把很多例如JS對方啊,一些常用的方法,練習一下,大概1兩個星期就可以玩得比較好了,有些時候我們會把做些特效,這個可以我們通常就是問百度啦,下載下來修改以下,下面我們演示一個修改的過程,按個這個套路練習,然後把我們做過的練習都自己儲存下來,當有需要的時候就可以很快解決問題了。

現在我修改一個關於時間的指令碼,是一個計時器的指令碼,這種指令碼很多時候用到,按照這個演示來練習,其實就很容易上手。

<!DOCTYPEhtml>

<htmllang="en">

<head>

 <meta charset="gbk">

 <title>

計時器</title>

 <script>

   var hour,minute,second;//時 分 秒

   hour=minute=second=0;//初始化

   var millisecond=0;//毫秒

   var int;

   function Reset()//重置

   {

     window.clearInterval(int);

     millisecond=hour=minute=second=0;

    document.getElementById('timetext').value='00時00分00秒000毫秒';

   }

   function start()//開始

   {

     int=setInterval(timer,50);

   }

   function timer()//計時

   {

     millisecond=millisecond+50;

     if(millisecond>=1000)

     {

       millisecond=0;

       second=second+1;

     }

     if(second>=60)

     {

       second=0;

       minute=minute+1;

     }

     if(minute>=60)

     {

       minute=0;

       hour=hour+1;

     }

    document.getElementById('timetext').value=hour+'時'+minute+'分'+second+'秒'+millisecond+'毫秒';

   }

   function stop()//暫停

   {

     window.clearInterval(int);

   }

 </script>

</head>

<body>

<divstyle="text-align: center">

 <input type="text"id="timetext" value="00時00分00秒"readonly><br>

 <button type="button"onclick="start()">開始</button> <button type="button"onclick="stop()">暫停</button><button type="button" onclick="Reset()">重置</button>

</div>

</body>

</html>

4.jpg

現在我要將其修改為一個只有一個開始按鈕,然後倒數10秒,期間這個按鈕是灰色的,10秒後才能重新發送。

現在註釋了重置的JS程式碼,我們除錯的時候按F12然後就會彈出以下錯誤,這些錯誤,只要你點進去,然後錯誤原因,錯誤位置都可以找到。


然後將其作以下修改,看看能否達到我們的要求。

5.jpg

發現不可以

6.jpg

開始找原因,這裡就要用到斷點除錯,這裡斷點很容易,比如我在27行打斷點,就滑鼠左鍵點選一下偵錯程式那裡27行就可以,現在懷疑second值沒有變,那麼滑鼠放在second這個引數上面,看看其值

7.jpg


這裡就找到原因了,還是10,那麼就要對second這個值進行修改了,修改成這樣

8.jpg

成功了,之後就是0秒停止,和變灰操作了,逐個來

變成0的容易,因為已經有了,直接呼叫就行

9.jpg

變灰操作是這樣,一點選就變灰,然後時間到了可以再重發,顏色變回來

假如我們不知道按鈕這個物件有什麼屬性,上w3school.com.cn查就可以

10.jpg

對於按鈕,有其屬性,例如能不能用之類

11.jpg

對於每個HTML DOM(按鈕也是一種),都可以設定其style,所以我們找這兩個就可以,先是style

12.jpg

最後貼上完整程式碼

<!DOCTYPE html>

<html>

<head>

 <metacharset="gbk">

 <title>計時器</title>

 <script>

   varhour,minute,second;//時 分 秒

  //hour=minute=second=0;//初始化

   varmillisecond=0;//毫秒

   var int;

/*   function Reset()//重置

   {

    window.clearInterval(int);

    millisecond=hour=minute=second=0;

    document.getElementById('timetext').value='00時00分00秒000毫秒';

   }

*/

   functionstart()//開始

   {

        second=10;

       document.getElementById('start').disabled=true;

    int=setInterval(timer,1000);

   }

   functiontimer()//計時

   {

             

        if(second==0){

               stop();

               document.getElementById('start').disabled=false;

        }else{

              document.getElementById('start').innerHTML='重新發送';

              document.getElementById('timetext').value=--second+'秒';

        }

   

   }

   functionstop()//暫停

   {

    window.clearInterval(int);

   }

 </script>

</head>

<body>

<div style="text-align: center">

 <inputtype="text" id="timetext" value="10秒"readonly><br>

 <buttontype="button" id="start" onclick="start()">開始</button>

<!-- <buttontype="button" onclick="stop()">暫停</button>

 <buttontype="button" onclick="Reset()">重置</button>

 --!>

</div>

</body>

</html>

本文摘自:詩東教育,網址:www.nedsoft.cn