更新於 2020/06/25閱讀時間約 2 分鐘

由小專案學程式--Color Flipper

在youtube上找尋前端的小專案來練習,就發現了這個不是很難,又可以讓我練習怎麼把javascript用在網頁裡的專案,於是就跟者影片做了一遍。當然,比起前一個寫遊戲的影片來說,可以說是輕鬆很多。雖然頁面呈現很漂亮,但不是我自己開發的,影片作者好心地把css的程式碼一起附在了github供下載,而我主要也是專注在透過javascript寫好的功能嵌入html達到我要的功能,下面大致說明一下是怎麼做到的。

基本版本--點選後隨機變換4種固定底色
基本版本--點選後隨機變換4種固定底色

16進位版本--點選後隨機變換底色

index.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中挑選出來的符號,呈現到頁面上。

分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.