2016-05-17 49 views
1

因此,我在我的HTML文件上製作了一個div id="time",並將其定位,以便當前時間顯示在我的網站左上角,位於我製作的邊框內。所以我想當前的時間到邊框內出現在我的網站,我做的左上側,但有無法做到的:將當前時間添加到我的頁面上的特定部分

HTML文件:

<div id="time"> 

    </div> 

我的js文件:

var time = document.getElementById("time") 

var currentTime = new Date() 
var hours = currentTime.getHours() 
var minutes = currentTime.getMinutes() 

if (minutes < 10) 
    minutes = "0" + minutes 

var suffix = "AM"; 
if (hours >= 12) { 
    suffix = "PM"; 
    hours = hours - 12; 
} 
if (hours == 0) { 
    hours = 12; 
} 

document.write("<b>" + hours + ":" + minutes + " " + suffix + "</b>") 

當前時間確實成功顯示,但它並未顯示在我想要的位置(它顯示在頁面底部的所有路上)。也許DOM有什麼問題?

+1

上這基本上是因爲在用「time」ID - 'var time'聲明元素的鉤子/引用之後 - 你完全不使用它!您應該使用'innerHTML'屬性引用'time'變量並添加帶有「計算」時間的內容。 – Darek

+0

你應該標記一些答案爲正確的。 –

回答

1

試試這個:

var time = document.getElementById("time") 
 

 
var currentTime = new Date() 
 
var hours = currentTime.getHours() 
 
var minutes = currentTime.getMinutes() 
 

 
if (minutes < 10) 
 
minutes = "0" + minutes 
 

 
var suffix = "AM"; 
 
if (hours >= 12) { 
 
suffix = "PM"; 
 
hours = hours - 12; 
 
} 
 
if (hours == 0) { 
 
hours = 12; 
 
} 
 

 
time.innerHTML = "<b>" + hours + ":" + minutes + " " + suffix + "</b>";
<div id="time"> 
 

 
</div>

使用time.innerHTML = '...'在你的DIV所在的地方顯現。

有關文件撰寫)有些話(

Object-Oriented JavaScript - Second Edition:該方法document.write()的,您可以在加載的頁面 HTML插入到頁面。你可以像下面的代碼:

<p>It is now 
    <script>document.write("<em>" + new Date() + "</em>"); </script> 
</p> 

這是一樣的,如果你在 HTML文檔的來源有直接的日期如下:

<p>It is now 
    <em>Fri Apr 26 2013 16:55:16 GMT-0700 (PDT)</em> 
</p> 

注意,你可以只在使用document.write()時頁面正在加載 。如果您在頁面加載後嘗試,將取代 整個頁面的內容。你很少會需要document.write(),如果你認爲你需要,可以嘗試一種替代方法。修改DOM級別1提供的頁面內容的方法是首選,並且更靈活的方式是 。

+0

也請看看[momentjs](http://momentjs.com),而不是手動操作字符串。 – Isuru

0

這是你的解決方案..你所要做的就是把document.getElementById()放在div id =「time」後面。它運作良好。

<html> 
<head> 
    <script> 

var currentTime = new Date() 
var hours = currentTime.getHours() 
var minutes = currentTime.getMinutes() 

if (minutes < 10) 
minutes = "0" + minutes 

var suffix = "AM"; 
if (hours >= 12) { 
suffix = "PM"; 
hours = hours - 12; 
} 
if (hours == 0) { 
hours = 12; 
} 
    </script> 
    </head> 
    <body> 

     <div id="time" style="position:absolute; bottom:0; right:0;">123 
     </div> 
    </body> 
    <script> 
     document.getElementById("time").innerHTML="<b>" + hours + ":" +minutes + " " + suffix + "</b>"; 
    </script> 

</html> 
0

你聲明的VAR 時間,但你沒有使用它。設置時間 .innerHTML值作爲日期,而不是文件撰寫:

time.innerHTML = "<b>"+ hours +":"+ minutes +" "+ suffix +"</b>"; 

這樣,你就可以把DIV ID爲「時間」任何你想要的日期顯示在頁面

相關問題