我有一个元素填充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时,其他代码中的一堆代码永远不会被执行。
答案 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);