2013-12-13 213 views
0

我有顺序执行函数的问题。 在我的html文件,我有这样的:JQuery按顺序执行函数

<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; 
+2

为什么'.css'里面有一个函数?我没有看到它[文档中的任何地方](http://api.jquery.com/css/)。 –

回答

3

凡在documentation你看到的函数签名改变?这不存在。

.css(propertyName) 
.css(propertyNames) 
.css(propertyName, value) 
.css(propertyName, function(index, value)) 
.css(properties) 

分解它,没有执行的回调。这不是一个异步步骤。

$('body').css('background', 'black'); 
$('#welcome').fadeIn("slow"); 
+0

事情是:如何更改背景更改的持续时间? –

+0

css()不是animate() – epascarello

0

为什么不更新每行功能?

function start() { // rename this.. 
    $('body').css('background', 'black'); 
    $('#welcome').fadeIn(); 
} 
0

试试这个......可能会帮助您。

$('body').css('background', 'black'); 
$('#welcome').fadeIn("slow"); 
0

jQuery的CSS()没有回调 - 我想你“动画”,这是一个缓慢的(因此延迟)的事,而“CSS”立即发生混淆。

你可以链jQuery的命令是这样的:

$(".stuff").css("background","black").css("color","red") 

这可以与任何立即发生来完成。当某些事情需要时间时,回调是适当的时机。

而且,对于CSS,还有另一种方式:

$(".stuff").css({ 
    "background":"black", 
    "color":"red", 
}); 

但是,这并不是很一般jQuery中。链接(如上)几乎可以在任何地方使用。