0

3つの関数を特定の順序で実行したいのですが、これを実行します。

function nextPage() {
    var loading_temp = $('#loading_temp');

    loading_temp.show()
        .queue(function() {
            nextPage980()
                .queue(function() {
                    loading_temp.hide();
                    $(this).dequeue();
                });
            $(this).dequeue();
        });         
}

'#loading_temp'が表示された後、関数は実行されますが、最後の関数(読み込み中のgifを非表示)は実行されません!

Chromeはこのエラーを出します:Uncaught TypeError:undefinedのメソッド'queue'を呼び出すことができません

nextPage980()関数は次のとおりです。

function nextPage980() {
        var ajax_heading = $('#ajax_heading');          
        var cur_heading = $('#cur_heading');            
        var temp_heading = $('.temp_heading');
            var temp_heading_first = temp_heading.filter(':first');         
        var loading_temp = $('#loading_temp');

        var htmlHeader = "Εγκαταστάσεις";           

        ajax_heading.attr('class', 'next_temp');        
        cur_heading.css({'margin-right' : '20px'}).after('<div id="cur_heading" class="temp_heading" data-tempPos="2"><h1 class="page_heading"><span class="heading_span">' + htmlHeader + '</span></h1></div>')        
            .queue(function() {
                ajax_heading.animate({'margin-left' : '-1000px'}, 1000, 'easeInExpo')               
                    .queue(function() {
                        temp_heading_first.remove();                        
                        cur_heading.removeAttr('style');                        
                        ajax_heading.attr('class', 'cur_temp').removeAttr('style');                                                     
                        $(this).dequeue();
                    });
                $(this).dequeue();
            });     
    }

前もって感謝します!

4

1 に答える 1

1

からjqueryオブジェクトを返す必要がありますnextPage980。最後に無条件で追加しreturn $(this);ます。現状では、現在の戻り値を呼び出しqueueていますが、これは何もありません(したがって、エラーメッセージが表示されます)。

于 2012-04-16T11:04:23.997 に答える