0

callbeck にこの問題があります。したがって、リストに2つ以上の要素が含まれる場合、最初の要素にいくつかのクラスを追加したいと考えています。うまくいくと思いますが、これにはいくつかのajaxアクションがあり、クリックするとリストがロードされます。多くの場合、共通のコンテンツをクリーニング<ul>してから、「新しい」コンテンツをロードします。すばやくクリックして次のリストをロードすると、すべての要素が class を受け取りactiveます。コードの何が問題になっていますか?

var sett_vertical_tabs_size = sett_vertical_tabs_breadcrumb.size();
sett_vertical_breadcrumb.delay(1000).fadeIn(1000, function() {
    if( --sett_vertical_tabs_size > 2 ) return;
    sett_vertical_tabs_breadcrumb.find('li').first().addClass('active');
});
4

1 に答える 1

0

これは $.Deferred に適した場所のようです

function getList(){
   return $.ajax({
           // your ajax here
    });
}

function showList(){
    return $.Deferred(function( mydef ){
        $('#listy').fadeIn( 1000, mydef.resolve );
    }).promise();
}

$.when( getList(), showList() )
    .then(function( myAjaxResult ){
       alert('fadeIn and AJAX request are both done');
      // 'myAjaxResult' is the server's response
      // put your class add logic here
});
于 2013-02-04T22:34:02.473 に答える