以下是编写的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)";