在javascript函数中使用jquery动画

在javascript函数中使用jquery动画,javascript,jquery,html,css,animation,Javascript,Jquery,Html,Css,Animation,我只有一个div,背景色覆盖了整个视图,称为“colorPanel”(使用html id) 这段代码没有运行,我不明白为什么 当我将col更改为$col时,它仍然不会运行 关于jquery,我不了解什么 function animateColors(i){ var val = 1/0.2*(i) * 210; var col = 'hsla('+val+', 90%, 60%, 1)'; $("#colorPanel").animate({"background-colo

我只有一个
div
,背景色
覆盖了整个视图,称为“colorPanel”(使用html id)

这段代码没有运行,我不明白为什么

当我将
col
更改为
$col
时,它仍然不会运行

关于jquery,我不了解什么

function animateColors(i){
    var val = 1/0.2*(i) * 210;
    var col = 'hsla('+val+', 90%, 60%, 1)';
    $("#colorPanel").animate({"background-color": col}, 200);
    i = (i<180)? i+4 : 0;
    animateColors(i);
}

animateColors();
函数animateColors(i){
var val=1/0.2*(i)*210;
var col='hsla('+val+',90%,60%,1');
$(“#colorPanel”).animate({“背景色”:col},200);
i=(i

已经“Brut&@ TANTANG”建议有效点作为注释。请考虑。


您没有向animateColors()的初始调用传递任何内容。这是typeo吗?如果不是,则程序的初始运行未定义i。此外,递归函数没有终止条件

从“the.animate()方法允许我们在任何数字CSS属性上创建动画效果”和“例如,宽度、高度或左侧可以设置动画,但背景颜色不能设置,除非使用插件”。根据您的要求,您可以只使用CSS转换

根据这些评论,我将对您的代码进行更改

$(文档).ready(函数(){
函数animateColors(i){
var val=1/0.2*(i)*210;
var col='hsla('+val+',90%,60%,1');
$(“#colorPanel”).css({“背景色”:col});

i=(i您没有向
animateColors()
的初始调用传递任何内容。这是类型o吗?如果不是,则
i
对于程序的初始运行是未定义的。此外,递归函数也没有终止条件。从“the.animate()方法允许我们在任何数值CSS属性上创建动画效果。”和“例如,宽度、高度或左侧可以设置动画,但背景颜色不能设置,除非使用插件”。根据您的要求,您可以使用CSS转换。这将起作用!谢谢。我不知道在没有文档准备的情况下,您无法在javascript中运行随机jquery行。我将研究jquery如何工作。