有问题的if语句

时间:2013-03-17 16:15:50

标签: javascript jquery css

我有一个元素填充div“message”元素,如果有超过20个元素,我想淡化它们slice(20).animate并执行完成的animate函数中的其余代码,但是如果我想立即执行剩下的代码不超过20个元素,逻辑在jquery中会怎么样?

对于noobish问题感到抱歉,我对jquery并不熟悉。

编辑:这是我的代码:

if ($(".info #future>center>div").length<20) {/*Skip straight to bunch of other code*/}
$(".info #future>center>div").slice(20).animate({opacity:0}, 500, function()
{
//Bunch of other code here

现在如果我只使用切片20,当中心元素中少于20个div时,其他代码中的一堆代码永远不会被执行。

1 个答案:

答案 0 :(得分:1)

您不能跳到其他地方定义的函数表达式。你必须使它成为一个独立的函数(分配给两个地方都可用的变量),并调用它或将其作为回调传递:

function done() {
    //Bunch of other code here
}
var divs = $(".info #future>center>div");
if (divs.length < 20)
    done();
else
    divs.slice(20).animate({opacity:0}, 500, done);