使用jQuery在一天的特定时间更改图像

时间:2017-07-21 16:22:40

标签: jquery wordpress

我环顾四周,拼凑了一个脚本,它将改变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;

我的第一个帖子/问题所以说实话但不残酷:)

由于

2 个答案:

答案 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>