简体   繁体   English

如何根据一天中的小时替换图像

[英]How to replace image based on the hour of the day

I have a code that changes the background color based on the time of the day, hourly. 我有一个代码,可以根据一天中的时间(每小时)更改背景颜色。 Now I'm trying to do the same replacing an image source but seems to be not working, Code is also based on computer timezone, but I would like to make it based only on Barcelona city, Spain. 现在,我尝试执行相同的操作来替换图像源,但似乎无法正常工作,代码也基于计算机时区,但是我想仅基于西班牙巴塞罗那市创建它。

JAVASCRIPT JAVASCRIPT

$(document).ready(function(){
var d = new Date();
var n = d.getHours();

//1-2am
if (n > 23 || n < 2) {
 $("img#photo1").attr("src","images/head6.png");
 $('body').css({'background-color':'#2e3348','color':'#FFF'});
 }

//2-3am
else if (n > 24 || n < 3) {
 $("img#photo1").attr("src","images/head6.png");
 $('body').css({'background-color':'#5ca0d6','color':'#FFF'});
 }

//3-4am
else if (n > 1 || n < 4) {
 $("img#photo1").attr("src","images/head6.png");
 $('body').css({'background-color':'#5ca0d6','color':'#FFF'});
 }

//4-5am
else if (n > 2 || n < 5) {
 $("img#photo1").attr("src","images/head6.png");
 $('body').css({'background-color':'#5ca0d6','color':'#FFF'});
 }

//5-6am
else if (n > 3 || n < 6) {
 $("img#photo1").attr("src","images/head6.png");
 $('body').css({'background-color':'#5ca0d6','color':'#FFF'});
 }

//6-7am
else if (n > 4 || n < 7) {
 $("img#photo1").attr("src","images/head6.png");
 $('body').css({'background-color':'#5ca0d6','color':'#FFF'});
 }

//7-8am
else if (n > 5 || n < 8) {
 $("img#photo1").attr("src","images/head6.png");
 $('body').css({'background-color':'#5ca0d6','color':'#FFF'});
 }

//8-9am
else if (n > 6 || n < 9) {
 $("img#photo1").attr("src","images/head4.png");
 $('body').css({'background-color':'#5ca0d6','color':'#FFF'});
 }

//9-10am
else if (n > 7 || n < 10) {
 $("img#photo1").attr("src","images/head4.png");
 $('body').css({'background-color':'#5ca0d6','color':'#FFF'});
 }

//10-11am
else if (n > 8 || n < 11) {
 $("img#photo1").attr("src","images/head4.png");
 $('body').css({'background-color':'#5ca0d6','color':'#FFF'});
 }

//11-12am
else if (n > 9 || n < 12) {
 $("img#photo1").attr("src","images/head4.png");
 $('body').css({'background-color':'#5ca0d6','color':'#FFF'});
 }

//12-1pm
else if (n > 10 || n < 13) {
 $("img#photo1").attr("src","images/head4.png");
 $('body').css({'background-color':'#5ca0d6','color':'#FFF'});
 }

//1-2pm
else if (n > 11 || n < 14) {
 $("img#photo1").attr("src","images/head4.png");
 $('body').css({'background-color':'#5ca0d6','color':'#FFF'});
 }

//2-3pm
else if (n > 12 || n < 15) {
 $("img#photo1").attr("src","images/head4.png");
 $('body').css({'background-color':'#5ca0d6','color':'#FFF'});
 }

//3-4pm
else if (n > 13 || n < 16) {
 $("img#photo1").attr("src","images/head4.png");
 $('body').css({'background-color':'#5ca0d6','color':'#FFF'});
 }

//4-5pm
else if (n > 14 || n < 17) {
 $("img#photo1").attr("src","images/head4.png");
 $('body').css({'background-color':'#5ca0d6','color':'#FFF'});
 }

//5-6pm
else if (n > 15 || n < 18) {
 $("img#photo1").attr("src","images/head4.png");
 $('body').css({'background-color':'#5ca0d6','color':'#FFF'});
 }

//6-7pm 
else if (n > 16 || n < 19) {
 $("img#photo1").attr("src","images/head.png");
 $('body').css({'background-color':'#5ca0d6','color':'#FFF'});
 }

//7-8pm 
else if (n > 17 || n < 20) {
 $("img#photo1").attr("src","images/head1.png");
 $('body').css({'background-color':'#5ca0d6','color':'#FFF'});
 }

//8-9pm 
else if (n > 18 || n < 21) {
 $("img#photo1").attr("src","images/head1.png");
 $('body').css({'background-color':'#5ca0d6','color':'#FFF'});
 }

//9-10pm 
else if (n > 19 || n < 22) {
 $("img#photo1").attr("src","images/head1.png");
 $('body').css({'background-color':'#5ca0d6','color':'#FFF'});
 }

//10-11pm 
else if (n > 20 || n < 23) {
 $("img#photo1").attr("src","images/head1.png");
 $('body').css({'background-color':'#5ca0d6','color':'#FFF'});
 }

//11-12pm 
else {
 $("img#photo1").attr("src","images/head1.png");
 $('body').css({'background-color':'#5ca0d6','color':'#FFF'});
 }
});

And my HTML for the is 我的HTML是

<img src="" id="photo1" />

Any suggestion to understand it better and make it work? 有什么建议可以更好地理解它并使它起作用吗? thanks in advance! 提前致谢!

Change the .attr to .prop: 将.attr更改为.prop:

 $("img#photo1").prop("src","images/head6.png");

Another option is to define the background images in css classes, and then just switch classes. 另一个选择是在CSS类中定义背景图像,然后仅切换类。

This is very creative idea to change background based on the time. 这是一个非常有创意的想法,可以根据时间更改背景。 But are you setting all src attribute to the same picture? 但是,您是否将所有src属性都设置为同一张图片?

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM