下面是一个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元素的实际颜色不会改变。有没有想过为什么会这样?谢谢。
答案 0 :(得分:6)
您需要更改此行var newColor = "(" + r + "," + g + ", 0)";
到这个
var newColor = "rgb(" + r + "," + g + ", 0)";