javascript css更改问题

javascript css更改问题,javascript,jquery,html,css,Javascript,Jquery,Html,Css,代码应该相当简单,但我不知道为什么它不工作,它让我发疯。它应该只获取时钟id,然后根据时间动态更改其背景。 我的密码是 init(); function init(){ var clock = document.getElementById('clock'); var currentdate = new Date(); var datetime = currentdate.getHours(); if(datetime==1||datetime==13){ clock.style.backgro

代码应该相当简单,但我不知道为什么它不工作,它让我发疯。它应该只获取时钟id,然后根据时间动态更改其背景。 我的密码是

init();
function init(){
var clock = document.getElementById('clock');
var currentdate = new Date();
var datetime = currentdate.getHours();
if(datetime==1||datetime==13){
clock.style.backgroundImage="url(clock/clock1.png)";
}
else if(datetime==2||datetime==14){
clock.style.backgroundImage="url(clock/clock2.png)";
}
else if(datetime==3||datetime==15){
clock.style.backgroundImage="url(clock/clock3.png)";
}
else if(datetime==4||datetime==16){
clock.style.backgroundImage="url(clock/clock4.png)";
}
else if(datetime==5||datetime==17){
clock.style.backgroundImage="url(clock/clock5.png)";
}
else if(datetime==6||datetime==18){
clock.style.backgroundImage="url(clock/clock6.png)";
}
else if(datetime==7||datetime==19){
clock.style.backgroundImage="url(clock/clock7.png)";
}
else if(datetime==8||datetime==20){
clock.style.backgroundImage="url(clock/clock8.png)";
}
else if(datetime==9||datetime==21){
clock.style.backgroundImage="url(clock/clock9.png)";
}
else if(datetime==10||datetime==22){
clock.style.backgroundImage="url(clock/clock10.png)";
}
else if(datetime==11||datetime==23){
clock.style.backgroundImage="url(clock/clock11.png)";
}
else if(datetime==0||datetime==12){
clock.style.backgroundImage="url(clock/clock12.png)";
}
}
HTML是

<div id="clock"><img src="clock/pill.png" alt="pill image" id="pillpic"/></div>

只要在
时钟
元素加载后运行,代码就会正常工作。请确保将脚本放在该元素下面,或者使用在加载DOM后运行的事件处理程序

这是您的代码的清理版本

init();

function init() {
    var clock = document.getElementById('clock');
    var t = (new Date().getHours() % 12) || 12;

    clock.style.backgroundImage = "url(clock/clock" + t + ".png)";
}
演示:


还要确保图像路径正确。

发生了什么不正确的情况?症状是什么?使用Dev控制台或其他工具检查div的背景。背景图像值是否正在更改?是否找不到图像?不太熟悉使用javascript设置css,但可以尝试使用jQuery设置
css
<代码>$(clock.css('background-image','url(clock/clock1.png)您的if语句都执行了吗?很好,它现在可以与您的代码一起工作,也可能与我的代码一起工作,您的代码更整洁了!我只是在调用init();在错误的地方。cheers@user2232418:啊,是的,就这样!很高兴你让它工作了。
function init(){
var clock = document.getElementById('clock');
var currentdate = new Date();
var datetime = currentdate.getHours();
    datetime = datetime >= 12 ? datetime-12 : datetime;
    clock.style.backgroundImage="url(clock/clock"+datetime+".png)";
}
init();