我在顺序执行函数时遇到问题。 在我的html文件中,我有这个:
<body onload="start();">
<div id="title"><div id="welcome">WELCOME</div></div>
在我的JS中,我有这个,它应该将背景更改为黑色,当它结束时,它会使“欢迎”div出现。
function start(){
$('body').css('background', 'black', function() {
$('#welcome').fadeIn("slow");
});
}
问题是:只执行后台更改。我在浏览器控制台上没有错误。
关于我可能出错的地方的任何想法?
编辑:我在body
css上有这个,所以慢慢地从白色变为黑色
-webkit-transition:all 1.0s ease;
-moz-transition:all 1.0s ease;
transition:all 1.0s ease;
答案 0 :(得分:3)
你在documentation的哪个地方看到了这个功能签名?那不存在。
.css( propertyName )
.css( propertyNames )
.css( propertyName, value)
.css( propertyName, function(index, value) )
.css( properties )
分解,没有执行的回调。这不是一个异步步骤。
$('body').css('background', 'black');
$('#welcome').fadeIn("slow");
答案 1 :(得分:0)
为什么不在一行中更新每个功能?
function start() { // rename this..
$('body').css('background', 'black');
$('#welcome').fadeIn();
}
答案 2 :(得分:0)
试试这个..可能对你有帮助。
$('body').css('background', 'black');
$('#welcome').fadeIn("slow");
答案 3 :(得分:0)
jQuery css()没有回调 - 我认为你把它与“animate”混淆,这是一个缓慢的(因此是延迟的)要做的事情,而“css”立即发生。
你可以像这样链接jQuery命令:
$(".stuff").css("background","black").css("color","red")
这可以通过立即发生的任何事情来完成。当需要花时间时,回调是为了适当的时间安排。
另外,对于CSS,还有另一种方法:
$(".stuff").css({
"background":"black",
"color":"red",
});
但是这在jQuery中并不是很普遍。链接(如上所述)几乎可以在任何地方使用。