我环顾四周,拼凑了一个脚本,它将改变WordPress网站上的图像,具体取决于是早晨,白天还是晚上。
早晨图像显示在凌晨5点到中午12点之间 日间图像显示在中午12点至晚上9点之间 夜间图像显示时间是否都不是。
我被困在两件事上。
1)目前从12开始的任何时间:xx晚上的图像显示而不是第一天。然后在第一天的第13天显示。我怎么做才能让图像在中午12点响起?
2)如何将代码设置为每60秒运行一次?目前,如果发生时间更改,除非您刷新/重新加载
,否则不会显示正确的图像 // Save bytes in the minified (but not gzipped) version:
var ArrayProto = Array.prototype, ObjProto = Object.prototype, FuncProto = Function.prototype;
我的第一个帖子/问题所以说实话但不残酷:)
由于
添
答案 0 :(得分:2)
要让它在中午更改,此行if (day_night > 5 && day_night < 12){
需要设置为<=
,例如if (day_night > 5 && day_night <= 12){
要让它每60秒更新一次,你可以将整个事物包装在一个函数中,使用setInterval
每60秒运行一次这个函数是一些适合你的更新代码
(function($) {
"use strict";
$(document).ready(function(){
function check_image() {
var day_night = new Date().getHours();
if (day_night > 5 && day_night <= 12) {
$("#gilidimage").css('background-image',"url('http://morning-image-here.png')");
}
else if (day_night > 12 && day_night < 21) {
$("#gilidimage").css('background-image',"url('http://day-image-here.png')");
}
else {
$("#gilidimage").css('background-image',"url('http://night-image-here.png')");
}
}
setInterval(check_image,60000);
});
}(jQuery));
答案 1 :(得分:0)
setInterval(function () {
var Today = new Date();
var H = Today.getHours();
if (H >= 5 && H < 12 ) {
console.log("morning");
}
else if (H >= 12 && H < 21) {
console.log("afternoon");
}
else {
console.log("night");
}
}, 3000);//repet time (ms)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>