在这种情况下延迟不工作

时间:2011-07-13 04:26:25

标签: jquery

我有一个div,id =“upload_msg”。

我想在document.ready

上5秒后显示出来

一旦显示,我想添加文本(说“文件已上传”)并应用css类

我写了以下代码

jQuery("#upload_msg").delay(5000).addClass('updated').text('File Uploaded');

但我没有看到任何延迟,有人可以帮助我

3 个答案:

答案 0 :(得分:2)

使用setTimeout

setTimeout(function(){
    $("#upload_msg").addClass('updated').text('File Uploaded');
},5000);

答案 1 :(得分:2)

.delay()仅适用于队列中的内容,通常表示效果和动画。但是,您可以使用恰当命名的.queue()

强制您想要的任何内容
jQuery("#upload_msg").delay(5000).queue(function () {
    $(this).addClass('updated').text('File Uploaded');
    $(this).dequeue();
});

答案 2 :(得分:1)

如果您要使用addClass作为效果,则需要使用jQueryUI。

使用setTimeout进行出价更容易:

setTimeout( function(){
  $('#upload_msg').addClass('updated').text('File Uploaded');
}, 5000);