-2

我有一个填充了 div“消息”元素的元素,如果有超过 20 个元素,我想将它们淡入 slice(20).animate 并在 animate 的已完成函数中执行其余代码,但以防万一'不超过 20 个元素我想立即执行剩余的代码,jquery 中的逻辑如何?

抱歉,我对 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,而当中心元素中的 div 少于 20 个时,其他代码将永远不会被执行。

4

1 回答 1

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);
于 2013-03-17T16:58:01.130 回答