這里有兩個(gè) JavaScript 項(xiàng)目,只要對 JavaScript 有一個(gè)大致的了解,你就可以輕松完成。
1.使用顏色選擇器更改背景顏色
第一個(gè)非常容易制作。因此,該項(xiàng)目是您可以將顏色作為輸入并更改背景顏色,在本例中為body標(biāo)簽。輸入由顏色選取器通過將標(biāo)記的 type 屬性設(shè)置為“顏色”來獲取。是的,標(biāo)記有顏色類型。請參閱以下筆。inputinput
如您所見,首先,我們定義了一個(gè)變量來選擇作為顏色選擇器的標(biāo)簽(類型屬性設(shè)置為“顏色”的標(biāo)簽會自動(dòng)創(chuàng)建顏色選擇器)。我們定義它是為了獲取值,作為將來作為輸入給出的顏色。color_pickerinputinput
現(xiàn)在,我們將輸入事件偵聽器設(shè)置為具有函數(shù)的輸入,這意味著每當(dāng)給定輸入(此處輸入表示標(biāo)記)時(shí),都會觸發(fā)該函數(shù)。changecolor()inputchangecolor()
現(xiàn)在,讓我們定義函數(shù)。首先,我們將采用語句在輸入中選擇的顏色,并將其存儲在變量中。然后,我們通過語句選擇正文標(biāo)記?;旧汐@取所有具有已定義標(biāo)記名稱的標(biāo)記并將其存儲到數(shù)組中,并且通過使用 之后的 ,我們選擇第一個(gè)標(biāo)記名稱為“body”的標(biāo)記。由于整個(gè)HTML文檔中只有一個(gè)“body”標(biāo)簽,我們可以準(zhǔn)確地選擇body標(biāo)簽,這種方法可能對選擇某個(gè)標(biāo)簽很有用,但該方法的混亂程度較低?,F(xiàn)在,為了方便起見,您可以將 存儲在變量中,但這不是強(qiáng)制性的。
changecolor()color_picker.valueselected_colordocument.getElementsByTagName("body")[0]document.getElementsByTagName[0]document.getElementsByTagName("body")document.getElementByIddocument.getElementsByTagName("body")
現(xiàn)在,通過 將變量中存儲的所選顏色設(shè)置為背景色屬性。這是你的第一個(gè)項(xiàng)目。selected_colordocument.getElementsByTagName("body")[0].style.backgroundColor = selected_color;
2. 定時(shí)器或秒表
現(xiàn)在對于第二個(gè)項(xiàng)目,它是計(jì)時(shí)器或秒表。許多程序員發(fā)現(xiàn)制作計(jì)時(shí)器令人生畏和困惑,但相信我,這是一個(gè)很容易制作的項(xiàng)目。這個(gè)項(xiàng)目的解釋很長,因?yàn)槿绻銢]有足夠的信息,某些事情會讓你擔(dān)心。首先,請參閱下面的筆并嘗試?yán)斫獯a。
首先,您可以按照自己的喜好制作計(jì)時(shí)器的布局,但要單獨(dú)制作每個(gè)數(shù)字?,F(xiàn)在為每個(gè)數(shù)字提供不同的ID,以便我們可以單獨(dú)選擇每個(gè)數(shù)字。
現(xiàn)在,通過該方法將所有數(shù)字存儲在變量中,并且還使用該方法將所有數(shù)字存儲在變量中。是您用于存儲數(shù)字的變量的名稱,您應(yīng)該使用,因?yàn)?返回一個(gè)字符串,并且您無法遞增字符串,因此它會將字符串轉(zhuǎn)換為數(shù)字,以便我們可以遞增它。
document.getElementByIdparseFloat(variable_name_of_the_digit.innerHtml)variable_name_of_the_digitparseFloat.innerHtml
現(xiàn)在創(chuàng)建一個(gè)函數(shù)來遞增秒的第一個(gè)數(shù)字(右邊的數(shù)字)。首先,編寫語句以遞增秒的第一位數(shù)字。是用于存儲秒的第一個(gè)數(shù)字的變量名稱。變量名稱后面的 將遞增(向其添加 1)該數(shù)字。現(xiàn)在,將秒的第一個(gè)數(shù)字設(shè)置為 。這意味著秒的第一個(gè)數(shù)字將每秒向上移動(dòng) 1。
variable_name_of_the_innerHtml_of_the_first_digit_of_seconds++;variable_name_of_the_innerHtml_of_the_first_digit_of_secondsinnerHtml++innerHtmlvariable_name_of_the_innerHtml_of_the_first_digit_of_seconds
現(xiàn)在繼續(xù)將秒的第一個(gè)數(shù)字更改為 0,并每隔 10 秒遞增秒的第二個(gè)數(shù)字。我們將首先使用一個(gè)語句來檢查第二個(gè)數(shù)字的第一個(gè)數(shù)字是否為 9。然后在 里面,我們將 設(shè)置為 -1。不要將其設(shè)置為 0,因?yàn)樵诮酉聛淼囊幻胫?,它將被遞增為 1,數(shù)字將顯示 1 而不是 0,但對于 -1,它將顯示 0 而不是 1。
if if variable_name_of_the_innerHtml_of_the_first_digit_of_seconds
接下來,我們將增加秒的第二個(gè)數(shù)字(左邊一個(gè))的值,然后設(shè)置第二個(gè)數(shù)字的值。
variable_name_of_the_innerHtml_of_the_second_digit_of_seconds++innerHtml
現(xiàn)在,要每60秒更改秒0的兩位數(shù)字,我們將首先使用一個(gè)語句,對于語句的條件,我們將傳遞條件:秒的第一個(gè)數(shù)字(右邊的數(shù)字)是9,秒的第二個(gè)數(shù)字(左邊的)是5。然后在語句內(nèi)部僅設(shè)置為-1(再次不要將其設(shè)置為0)。沒有必要將其設(shè)置為第二個(gè)數(shù)字的第二個(gè)數(shù)字,因?yàn)榍懊娴恼Z句就是這樣做的?,F(xiàn)在秒機(jī)制的功能已經(jīng)完成。ifififvariable_name_of_the_innerHtml_of_the_second_digit_of_secondsinnerHtmlif
現(xiàn)在,對于分鐘的機(jī)制,只需復(fù)制我們制作的函數(shù)幾秒鐘,并將秒的變量名稱更改為分鐘,并將函數(shù)的名稱更改為分鐘。現(xiàn)在,該機(jī)制的功能就這樣完成了。
對于小時(shí),再次只需復(fù)制相同的函數(shù),將用于分鐘數(shù)的變量的名稱更改為小時(shí),只需刪除將兩個(gè)數(shù)字重置為0的語句,因?yàn)橛?jì)時(shí)器中沒有天。if
注: 不要更改所有函數(shù)中語句的順序。
現(xiàn)在要啟動(dòng)計(jì)時(shí)器,只需創(chuàng)建一個(gè)按鈕并為其提供ID即可。然后創(chuàng)建一個(gè)變量以使用方法選擇該按鈕,然后聲明三個(gè)變量來存儲三個(gè)函數(shù),但將這些變量聲明到任何函數(shù)之外,并且僅聲明。我們稍后會將這些變量存儲在函數(shù)中,用于計(jì)時(shí)器的啟動(dòng)、停止和重置機(jī)制。document.getElementByIdsetIntervalsetInterval
聲明這些變量后,只需創(chuàng)建一個(gè)函數(shù)。在此函數(shù)中編寫一個(gè)語句,條件應(yīng)該是按鈕等于按鈕內(nèi)的文本,當(dāng)計(jì)時(shí)器為0時(shí),在我的情況下它是“開始計(jì)時(shí)器”。然后,在此語句中,使用 初始化要存儲三個(gè)函數(shù)的三個(gè)變量,對于第二個(gè)函數(shù)、分鐘函數(shù)和小時(shí)函數(shù),其中 和 是您只為秒函數(shù)、分鐘函數(shù)和小時(shí)函數(shù)聲明的變量的名稱,并且 并且是函數(shù)的名稱,不帶括號,分別表示秒、分鐘和小時(shí)。然后在當(dāng)前語句中,將開始,停止和重置按鈕設(shè)置為當(dāng)按鈕用于停止計(jì)時(shí)器時(shí)所需的文本,然后寫入。
if innerHtmlifsetIntervalvariable_name_for_setInterval_of_second_function = setInterval(function_name_for_second, 1000);variable_name_for_setInterval_of_minute_function = setInterval(function_name_for_minute, 60000);variable_name_for_setInterval_of_hour_function = setInterval(function_name_for_hour, 3600000);variable_name_for_setInterval_of_second_functionvariable_name_for_setInterval_of_minute_functionvariable_name_for_setInterval_of_hour_functionsetIntervalfunction_name_for_secondfunction_name_for_minutefunction_name_for_hourifinnerHtmlreturn
然后寫另一個(gè)語句,其中的條件是按鈕等于您想要的文本,當(dāng)按鈕用于停止計(jì)時(shí)器時(shí),在我的情況下它是“停止計(jì)時(shí)器”。在此語句中,只需使用 清除前一語句中的三個(gè)函數(shù),并分別清除秒、分鐘和小時(shí)函數(shù)。之后,只需將按鈕設(shè)置為文本,當(dāng)按鈕準(zhǔn)備好重置計(jì)時(shí)器時(shí),您將選擇在我的情況下它是“重置計(jì)時(shí)器”,在此語句之后寫入 。
if innerHtmlifsetIntervalifclearInterval(variable_name_for_setInterval_of_second_function)clearInterval(variable_name_for_setInterval_of_minute_function)clearInterval(variable_name_for_setInterval_of_hour_function)setIntervalsetIntervalreturn
現(xiàn)在,對于重置計(jì)時(shí)器,定義另一個(gè)語句,這次的條件是按鈕等于您選擇的文本,當(dāng)按鈕準(zhǔn)備好重置計(jì)時(shí)器時(shí),該語句只需將所有數(shù)字設(shè)置為0。ifinnerHtmlif
現(xiàn)在,通過使用 HTML 中的屬性或使用 JavaScript 中的 on 按鈕,將用于啟動(dòng)、停止和重置計(jì)時(shí)器的函數(shù)添加到按鈕中。onclickaddEventListener
注意:在語句末尾書寫非常重要,否則,單擊按鈕時(shí)的啟動(dòng),停止和重置機(jī)制將不起作用。