Javascript 更改div';将背景从一种颜色转换为另一种颜色,就像渐变一样

Javascript 更改div';将背景从一种颜色转换为另一种颜色,就像渐变一样,javascript,html,css,Javascript,Html,Css,我想根据变量值将div的背景从红色更改为绿色。如果var值为1,则背景为红色。但当值增加到1000时,div背景变得更绿。就像它经历了从红色到绿色的渐变。如果不使用jQuery,我如何做到这一点 p.S.变量值每2秒增加一次,顺便说一句,假设您有一个带有颜色渐变的数组(您可以创建一个) 我将尝试上面的代码。您可以使用下面的方法,对vanilla JS中的颜色使用RGB值 var INTERVAL=2,//将其更改为2000,使其每2秒更改一次 MAX=1000,//最大值 _r=255, _g

我想根据变量值将div的背景从红色更改为绿色。如果var值为1,则背景为红色。但当值增加到1000时,div背景变得更绿。就像它经历了从红色到绿色的渐变。如果不使用jQuery,我如何做到这一点


p.S.变量值每2秒增加一次,顺便说一句,假设您有一个带有颜色渐变的数组(您可以创建一个)


我将尝试上面的代码。

您可以使用下面的方法,对vanilla JS中的颜色使用
RGB

var INTERVAL=2,//将其更改为2000,使其每2秒更改一次
MAX=1000,//最大值
_r=255,
_g=0;
var i=1,
_rPart=(255/最大值),
_gPart=(128/最大值);
var_handler=setInterval(函数(){
_r=\u r-\u rPart;
_g=_g+_gPart;
document.getElementById(“容器”).style.backgroundColor=“rgb(“+
数学地板+
", " + 
数学地板
+ ", 0)";   
如果(i==MAX){
clearInterval(_处理器);
}
i++;
},间隔)
#容器{
宽度:100px;
高度:100px;
背景:红色;
}


是否使用JavaScript更改该值?每2秒增加多少?是的,JavaScript会改变,每2秒增加1秒
var colorGradient = ['red'...'dark green'];

makeAGradient = function(index) {
  var count = 0;
  var intervalId = window.setInterval(function(){
    $('#my_div').css('background', colorGradient[count]);
    count +=1;
    if (count==index) window.clearInterval(intervalId);
  }, 2000);
}