0

我对callbeck有这个问题。所以,当我的列表将有超过 2 个元素时,我想为第一个添加一些类。我想它工作得很好,但我对此有一些 ajax 操作,并且在单击后加载列表。很多时候我正在清理常见的内容,<ul>然后加载“新”。当我快速单击以加载下一个列表时,所有元素都会接收类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 回答