以下是编写的Jquery脚本,用于随时间将对象的颜色从(0,0,0)更改为(255,255,0)。

$(document).ready(function(){
    var r = 0;
    var g = 0;
    changeColor(r, g);
});

function changeColor(r, g){
    var newColor = "(" + r + "," + g + ", 0)";

    $("p").css({"color": newColor});
    $("#diag").html(newColor);

    r+=1;
    g+=1;

    if(r <= 255 && g <= 255){
        window.setTimeout(function(){changeColor(r, g);}, 20);
    }
}

HTML是:
    <p>Hello</p>
    <div id="diag"></div>

但是,尽管该函数确实执行了(通过如何在#diag中重复显示newColor来证明),但p元素的实际颜色不会改变。是否有任何关于为什么会这样的想法?谢谢。

最佳答案

您需要更改此行var newColor = "(" + r + "," + g + ", 0)";
对此

var newColor = "rgb(" + r + "," + g + ", 0)";

09-19 10:32