2011-05-27 51 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

相关问题