2011-05-27 43 views
2

jQuery的.addclass功能運作良好補充類,但他們不來在持續時間:Jquery .addclass'Duration'即使使用Google Labs腳本,也無法運行?

jQuery(document).ready(function(){ 

newdiv = $('<div id=\'id".$row_new['ID']."\' style=\"display:none;\" class=\"eventdiv\" data-sort=\"" . $row_new['TimeStamp'] . "\">" . $row_new['Title'] . " TIME: " . $row_new['TimeStamp'] . "</div>'); 

    $('[data-sort=".$after."]').after(newdiv); 

    $('#id".$row_new['ID']."').slideDown('slow', function() {                     
     $(this).addClass('gradient shadow curved_sml', 5000); 
    }); 

    }); 

的代碼被轉義,因爲它返回從一個PHP頁面的對象(通過Ajax請求)到一個html頁面。

我已經嘗試過JqueryUI和Jquery的所有不同版本,它們都不允許它爲.addclass添加一個持續時間,5000只會變成延遲。

目前我有jQueryUI的1.8.9並安裝jQuery的1.5.2,因爲這些版本似乎執行的jsfiddle持續時間,但不是我的網頁上..

回答

2

編輯:我取適量本回... jQuery UI確實接受duration作爲addClass的第二個參數。 jQuery本身不會而不是接受持續時間作爲第二個參數。 jQuery UI中的第二個參數是添加類的效果應持續多長時間;如果你想推遲課程的增加,那麼我的答案仍然有效。


addClass不接受的延遲作爲第二個參數。

如果你想在類中加入5秒slideDown完成後,使用setTimeout

$('#id".$row_new['ID']."').slideDown('slow', function() { 
    var that = this;                     
    setTimeout(function() { 
     $(that).addClass('gradient shadow curved_sml'); 
    }, 5000); 
}); 

如果你想slideDown採取5秒,類的立即添加:

$('#id".$row_new['ID']."').slideDown(5000, function() { 
    $(this).addClass('gradient shadow curved_sml'); 
}); 
+3

jQuery UI擴展了jQuery的'addClass()'附加功能,看看:http://jqueryui.com/demos/addClass/ – DarthJDG 2011-05-27 09:16:09

+0

@達思:我發現後不久我發佈:)。 jQuery UI是有史以來發布的最差的圖書館。它應該**不會**改變核心jQuery函數的行爲,如下所示:(。 – Matt 2011-05-27 09:17:41

+0

同意。謝謝你的鏈接 – TaylorMac 2011-05-27 19:43:08

相關問題