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