-2

div「メッセージ」要素で満たされた要素があり、要素が 20 個を超える場合は、要素をスライス(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

ここで、中心要素の div が 20 未満の場合にスライス 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 に答える