1

各divがスライドインし、1秒待ってからスライドアウトして、次のdivがスライドインする単純なJQuery slidein-slideout divを実行しようとしています。

すべて正常に動作していますが、私の問題は、スライドする前に特定の時間 div を待機させることができないことです。フィドル リンクhttp://jsfiddle.net/47vzx/を確認してください。

私は次のことをしようとしました:

if(i<datalength)$('#paneldata').slideDown(2000,i==bdatalength?null:setTimeout(_callee,1000));

しかし、それを機能させることができませんでした ありがとう

4

2 に答える 2

1

arguments.callee代わりに、関数内で: を使用します。

var _callee = arguments.callee;

if (i < datalength) $('#paneldata').slideDown(2000, function () {

        if (i != bdatalength) _callee();
});

更新されたフィドル

于 2013-06-05T11:11:09.687 に答える
1

slideUp 呼び出しの前に.delay()を追加してみてください

i=-1; 
$data = $('#panel .data');
datalength = $data.length-1;
bdatalength = datalength-1; 
$panel = $('#panel').fadeIn(1000,_callee = function(){
    $('#paneldata').delay(i < 0 ? 0 : 2000).slideUp(2000,function(){
        $(this).html( $($data[++i]).html() )});
    if(i<datalength){
        $('#paneldata').slideDown(2000,i==bdatalength?null:_callee);
    }
});

デモ:フィドル

于 2013-06-05T11:24:46.313 に答える