身体背景基于一天中的小时JS

时间:2016-09-24 23:45:41

标签: javascript html

<script type="javascript">
jQuery(document).ready(function($){
   var dt = new Date();
   var currentHour = dt.getHours();
   $('body').css('background', '#FFF url(https://crystalforums.cf/bk/bk_'+currentHour+'.png) no-repeat center center fixed');
   $('body').css('background-size', 'cover');
});
</script>

喂!我有一个脚本在我的论坛上工作,我尝试在我的网站索引上工作,但它似乎不起作用。他们都使用body东西(我忘了实际的术语,它是星期六,我有大量的工作)所以他们应该影响身体元素吗?我做错了什么,脚本假设根据每小时将网站的背景图像设置为新图像。帮助???

我不希望它自动更新,他们cxan刷新。我希望每小时都有一个背景。

4 个答案:

答案 0 :(得分:2)

首先......我不建议使用javascript ....你的方法需要用户一小时进入你的网站和同一页......如果你仍然认为改变你会需要使用git push函数...

我的建议是使用服务器端技术...

答案 1 :(得分:0)

您可以将setInterval()的持续时间设置为5分钟60000 * 5或在函数调用之间使用更短的时间

$().ready(function() {
  var interval, curr;

  function handleBackground() {
    var dt = new Date();
    var currentHour = dt.getHours();
    if (!curr || currentHour !== curr) {
      curr = currentHour;
      $('body').css('background', 'url(https://crystalforums.cf/bk/bk_' 
                   + currentHour 
                   + '.png) no-repeat center center fixed');
    }
  }
  // call `handleBackground` to set initial `background` at `body`
  handleBackground();
  interval = setInterval(handleBackground, 60000 * 5);
});

plnkr http://plnkr.co/edit/5YTPgPgaKbXfYIT0MG3x?p=preview

答案 2 :(得分:0)

我不了解JQuery,我总是使用Java Script:P, 如果您想在5分钟后更改背景,可以通过javascript

执行此操作
<script>
index = 0;
function changeBackground(){
var backColor = ["image.jpg","image2.jpg","image3.jpg","image4.jpg"];
document.body.style.backgroundImage = "url("+backColor[index]+")";
index++;
if(index > (backColor.length)  - 1){
index = 0;
}
}
//1000 means 1 second, so for 5 min 
// 6,000 X 5 = 30,000
setInterval(changeBackground, 30000);
</script>

试试这段代码吧。

答案 3 :(得分:-1)

您可以像这样使用setInterval()函数:

function someFunction() {
    alert("It's been one hour");
}
setInterval(someFunction, 3600000);

3600000是一小时(毫秒)。