根据小时更改背景图像

时间:2020-09-19 作者:sara

我正在根据一天中的小时数更改行背景图像。我想展示一张08:00到18:00的照片,还有一张晚上的照片。有人能帮我吗?我知道我需要使用JS,但我不知道如何很好地实现它。

谢谢

1 个回复
SO网友:Brooke.

这个问题不是WordPress特有的,所以对于StackOverflow来说可能更好。我们可以通过建议使用wp_enqueue_script 将脚本添加到页面,但最终这是一个JavaScript问题。

我的回答是基于this article

// Get the local time of the visitor
var localTime = new Date();
var localHour = localTime.getHours();
            
// Bool to determine if it is night or day
var isNight = ( 18 <= localHour || 8 >= localHour ) ? true : false;
            
// Object containing URL links to images 
const  backgroundURLs = {
    day: \'https://placekitten.com/1960/1960\',
    night: \'https://placekitten.com/1961/1961\',
};
                
// Sets the background image
const setBackground = (image) => {
  // wait for window to be loaded to ensure body is present, 
  // if you are checking this elsewhere you can remove the window.onload check
  window.onload = function() {
     document.body.style.background = "url(\'"+backgroundURLs[image]+"\')";
  }
};
            
// Actually set the background based on the bool and URL object. 
if ( isNight ) {
  setBackground(\'night\');
} else {
  setBackground(\'day\');
}

相关推荐

喜欢和不喜欢使用JavaScript的功能

我想添加Like & Dislike 我的自定义帖子类型中的功能,称为game.我在我的帖子页脚中放置了喜欢和不喜欢的图标链接。Desired Behaviour:当用户单击like图标时,我想检查他是否已经投了赞成票,如果没有,则在post meta内创建或更新post-like-count meta键,用户meta也是如此。Problem:问题是,当用户单击like按钮时,我必须在JavaScript中处理它,但我不知道如何调用set_post_meta($post->ID)