2016-09-28 38 views
-2

我有一個index.html,在此文件中,我編寫代碼以便在此顯示一條消息「hello」。我的目標是實現顯示三種消息的代碼:「早上好」,「晚上好」和「晚安」。如何通過Javascript中的if語句顯示消息

跟隨我的代碼:

<p id="show_time" class="time"></p> 
<script> 
window.onload = show_time('show_time'); 

    function show_time(id) { 
     h = date.getHours(); 

     if h == 22 { 
     document.getElementById(id).innerHTML = "hello"; 
     } 
     setTimeout('show_time("' + id + '");','1000'); 
     return true; 
    } 
} 

在這段代碼中我只寫了一個情況。類,時間是包含字體大小和字體系列的css屬性。 h獲取當前小時,如果h爲22,則將輸出「hello」。但這不起作用。

如果您可以提供顯示三種消息類型的代碼,它非常有用。

謝謝

+0

'H> 0 &&ħ<= 16'節目( 「早上好」)。 「h> 16 && h <= 20」表演(「晚上好」)。 'h> 20 && h <= 24'表演(「晚安」)。像這樣? –

+0

寫在如果不合格。 'if(h == 22){// your code}' –

+0

if(h == 22){will工作 –

回答

2

window.onload = function() { 
 
    var h = new Date().getHours(), 
 
     msg = 'morning'; 
 
    
 
    if (h > 12) { msg = 'afternoon'; } 
 
    if (h > 20) { msg = 'night'; } 
 

 
    document.getElementById('show_time').innerHTML = msg; 
 
}
<p id="show_time" class="time"></p>

+0

我想知道是否可以通過括號內的樣式更改msg顏色。喜歡這個; {msg ='afternood'; msg.style.color ='orange'; }這段代碼不起作用,所以如果你知道它的幫助。謝謝 – bagels

+0

你必須改變'#show_time'元素的樣式,而不是msg –

+0

啊我看到了!我感謝他 – bagels

0

像這樣?? ??

/* next line if false, see the comments on this answer!!! */ 
 
window.onload = show_time('show_time'); 
 

 
function show_time(id) { 
 
    var date = new Date(), 
 
     h = date.getHours(); 
 

 
    if(h > 0 && h < 6) { 
 
    var msg = "Good night"; 
 
    } 
 
    else if(h >= 6 && h < 12) { 
 
    var msg = "Good morning"; 
 
    } 
 
    else if(h >= 12 && h < 18) { 
 
    var msg = "Good day"; 
 
    } 
 
    else if(h >= 18 && h < 24) { 
 
    var msg = "Good evening"; 
 
    } 
 
    document.getElementById(id).innerHTML = msg; 
 
    setTimeout('show_time("' + id + '");', '1000'); 
 
}
<p id="show_time" class="time"></p>

+1

'window.onload = show_time('show_time');'看起來不好,'window.onload'需要一個函數的引用。 – Titus

+0

@Titus,查看第二個例子:https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onload – LinkinTED

+1

我已經檢查過了。它不是load()',而是'load',是對函數的引用,而不是運行該函數的結果。它應該是'window.onload = show_time'或'window.onload = show_time.bind(this,'show_time');'以傳遞參數。 – Titus