所以最近,爲了獲得樂趣並學習更多關於Javascript的知識,因爲我從來沒有做過太多的Web開發,所以我一直在創建一個網站,它可以作爲一個時鐘,通過製作顏色來選擇顏色十六進制代碼。相當基本,但我想要實現的功能有點問題。Javascript切換時間類型
我想要的一個功能是使用網頁上的按鈕在UTC和本地時間之間切換。要做到這一點,我有按鈕(onclick)乘以-1的數字,以正面和負面代表每個國家。我已通過console.log驗證了該值本身已更改,但在顯示的時間中沒有可見的更改。
所以,如果有人可以看看,我會很感激。也許我誤解了代碼本身如何流動或重複。
謝謝!如果需要,我可以放置HTML,但我認爲只有JS纔是必要的。
var h, m, s;
window.onload = function startTime() {
var today = new Date();
var buttonHasBeenPressed = -1; // -1 = false
document.getElementById("utcbtn").onclick = function() {
buttonHasBeenPressed = buttonHasBeenPressed * -1; // reverses value
console.log(buttonHasBeenPressed);
}
if (buttonHasBeenPressed == 1) {
getUTCTime(today);
} else {
getNormalTime(today);
}
h = checkTime(h);
m = checkTime(m);
s = checkTime(s);
var timeString = "" + h + ":" + m + ":" + s;
var colorString = "#" + h + m + s;
document.getElementById("main").innerHTML = timeString;
document.getElementById("hexcolor").innerHTML = colorString;
document.body.style.backgroundColor = colorString;
var t = setTimeout(startTime, 500);
}
function checkTime(i) {
if (i < 10) {i = "0" + i}; // add zero in front of numbers < 10
return i;
}
function getUTCTime(today) {
h = today.getUTCHours();
m = today.getUTCMinutes();
s = today.getUTCSeconds();
}
function getNormalTime(today) {
h = today.getHours();
m = today.getMinutes();
s = today.getSeconds();
}
就像我儘可能的JavaScript我非常新手,所以這段代碼可能是不是所有的偉大說 - 建議,以改善它總是歡迎的!
只是好奇,爲什麼你不使用布爾值的東西,顯然是真/假?而且,你只運行所有的代碼來啓動'onload'時鐘。當您點擊按鈕時,我不會看到您再次調用它的位置。你所做的只是向控制檯打印一些東西。 – Antiga
@Antiga是的更多關於我將使用布爾代碼的代碼,只是沒有太多時間來完善它。當時我想我認爲這對我來說似乎更加「切合實際」,但會改變這一點。就onload而言,我對setTimeout()完成的工作有些困惑。我發現它是確保時鐘更新的一種方式,所以我假設它以某種方式循環它,但似乎可能不正確 – Wolverine1621