Javascript 如何进行背景图像转换?

Javascript 如何进行背景图像转换?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我想创建一个白天和黑夜的过渡背景。 这是我到目前为止所拥有的: 这就是我日夜改变的方式,但我不能让它们彼此褪色 CSS: JQUERY: function dayAndNight(){ if($('#achtergrond').attr('class')== "night") $('#achtergrond').toggleClass('night day'); else if($('#achtergrond').attr('class')== "day"

我想创建一个白天和黑夜的过渡背景。 这是我到目前为止所拥有的:

这就是我日夜改变的方式,但我不能让它们彼此褪色

CSS:

JQUERY:

function dayAndNight(){
    if($('#achtergrond').attr('class')== "night")
            $('#achtergrond').toggleClass('night day');
    else if($('#achtergrond').attr('class')== "day")
            $('#achtergrond').toggleClass('day night');
}

setInterval(function(){dayAndNight();},2000);

我怎样才能把白天变成黑夜,黑夜变成白天?

首先。如果你想日夜转换。函数的setInterval()函数 javascript是一个非常糟糕的主意。 如果使用getHours()函数会更好

var date = new Date(); 
var h = date.getHours(); 
alert(h);
您将获得当前时间。 现在你可以有一个if语句,比如

if(h>6){
   //Its Evening
}
这是一个经过测试的日夜转换代码

var date = new Date(); 
var h = date.getHours();
if(h<6){
    $('#achtergrond').attr('class','day');
    $('#achtergrond').fadeIn();
}else{
    $('#achtergrond').attr('class','night');    
    $('#achtergrond').fadeIn();
}
var-date=新日期();
var h=date.getHours();

如果(h背景图像转换可以通过以下步骤实现一些动画效果-

  • 将元素不透明度更改为(-0.1)

  • 添加10毫秒的小延迟并执行步骤1,直到不透明度达到0

  • 为元素设置新的背景图像


  • 两个div,一个淡出,一个淡入。我怎样才能将白天淡入黑夜,将黑夜淡入白天?只要给它十二个小时左右,它就会自行发生……你无法解释。像这样的一些…或者为了保持重叠和淡出,你可能需要两个divs@Danko我想重叠,所以我试了两个div
    var date = new Date(); 
    var h = date.getHours();
    if(h<6){
        $('#achtergrond').attr('class','day');
        $('#achtergrond').fadeIn();
    }else{
        $('#achtergrond').attr('class','night');    
        $('#achtergrond').fadeIn();
    }