2016-05-17 50 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为“时间”任何你想要的日期显示在页面

相关问题