我刚刚开始学习JavaScript,因此这可能是一个非常简单的问题。我试着寻找答案,但我想我只是不知道如何,'哦,这看起来不同,但也回答我的问题。更改两个值如果语句
我希望能够做的是根据一天的时间来改变根据一天的时间网页的背景颜色,也改变图像。我使用if ... else if ...语句来处理放置在页面头部的背景色,以及单独的if ... else if ...语句影响正文中的图像。
头脚本,改变背景颜色的样子:
var d=new Date();
var time=d.getHours();
if (time>=0 && time<=5)
{
document.write ('<body style="background-color: 296688">')
}
else if
...然后在其他时间跟随,每一个不同的颜色。
身体脚本改变图像的样子:
<img src="" name="sunMoon" id="sunMoon" />
<script type="text/javascript">
var d=new Date();
var time=d.getHours();
var elem = document.getElementById('sunMoon')
if (time>=0 && time<=5)
{
elem.src = 'Images/sunMoon1.png'
}
else if
...然后在其他时间跟随,每一个不同的SRC。
是否有可能使用相同的if ... else if语句在头部更改图像和bg颜色?我在头部尝试了这样的东西:
var d=new Date();
var time=d.getHours();
var elem=document.getElementById('sunMoon')
if (time>=0 && time<=5)
{
document.write ('<body style="background-color: 2966B8">');
elem.src="images/sunMoon1.png"
}
else if...
但它没有工作。
我认为与第三个(非工作)的例子,要么不可能有一个如果......做两件事(改变颜色和图像),或者我只是搞乱图像代码。
,完美的工作!谢谢! (另一个初学者问题:在var body = document.getElementsByTagName('body')[0],这个零为什么?) – mattjulian 2012-03-09 14:07:15
getElementsByTagName()返回元素数组(注意它是“元素”,复数),因为它返回所有来自页面的匹配元素。在这种情况下,只有一个元素会被返回,因为只有一个
标签;但是如果您确实获得了ElementElementByTagname('img'),它将返回多个元素。无论哪种情况,返回的元素都会返回到一个数组中。 [0]是你如何指定你想要数组的第一个项目(在这种情况下是唯一的项目)。如果你想了解更多查看JavaScript数组符号 – MartinAnsty 2012-03-09 15:46:57Gotcha。再次感谢! – mattjulian 2012-03-09 19:57:16