Jquery .addclass'持续时间'即使使用Google Labs脚本也不起作用?

时间:2011-05-27 09:07:14

标签: php jquery-ui jquery

jQuery .addclass函数可以很好地添加类,但是它们没有持续时间:

    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中执行了持续时间,但在我的页面上没有...

1 个答案:

答案 0 :(得分:2)

编辑:我接受了一些... jQuery UI接受duration作为addClass的第二个参数。 jQuery本身接受持续时间作为第二个参数。 jQuery UI中的第二个参数是添加类的效果应该持续多长时间;如果你想延迟添加课程,那么我的答案仍然有效。


addClass不接受延迟作为第二个参数。

如果您希望在slideDown完成后5秒钟添加课程,请使用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');
});