在youtube上找尋前端的小專案來練習,就發現了這個不是很難,又可以讓我練習怎麼把javascript用在網頁裡的專案,於是就跟者影片做了一遍。當然,比起前一個寫遊戲的影片來說,可以說是輕鬆很多。雖然頁面呈現很漂亮,但不是我自己開發的,影片作者好心地把css的程式碼一起附在了github供下載,而我主要也是專注在透過javascript寫好的功能嵌入html達到我要的功能,下面大致說明一下是怎麼做到的。
小問題
習慣上我會把連結css檔案的標籤<link>以及連結javascript檔案的標籤<script>都放在<head>裡面,不過以這個專案來說,當執行javascript前必須要有DOM物件的生成,而這個DOM物件在<body>中,造成執行javascript時找不到東西而沒有變化,因此才把<script>標籤移到<body>內的末端。
功能實作概念
在頁面中生成一個按鈕,當滑鼠點擊按鈕時,頁面會變換顏色。
在第一個simple的版本中,事先把寫好的4種顏色放在list中,對應的index位置為0、1、2、3,當滑鼠點擊按鈕,執行寫好的function,function內容引入數學套件,控制取亂數的範圍為0~3之間的整數,並且回傳此數字在list中對應的顏色,改變html中的底色。
在第二個Hex的版本,隨機選取的範圍更改,而在這裡要先說明一下色碼的概念:
以程式中的顏色組成為(Red, Green, Blue),原色參與的程度介於數字0~255之間,也就是說顏色範圍在(0,0,0)~(255,255,255)。當然也可以用另一個比較常見的16進位表示法,即#000000~#FFFFFF,其中#表示後面顯示為16進位,16進位表示由0、1、2、....9、A、B、C....E、F。每兩個符號代表一個顏色,每個符號有16種可能,也就是16*16=256,與0~255是一樣的意義。
因此,第二個版本只是稍微修改一下程式,回傳#加上6個從0~F中挑選出來的符號,呈現到頁面上。