javascript延迟功能不起作用

时间:2010-10-11 14:23:46

标签: javascript

我正在使用基于javascript的模态对话框。对话框正在淡入淡出并且逐渐消失,但是如果我希望使用延迟(3000)将淡出延迟几秒钟,则它不起作用。它永远不会淡出。我能做错什么?这是一个MVC应用程序。

function testingh(button) {
                alert("DfdfdfF");
                 $('.error-notification').remove();
            var $err = $('<div>').addClass('error-notification')
                                 .html('<h2>Paolo is awesome</h2>(click on this box to close)')
                                 .css('left', $(button).position().left);
            $(button).after($err);
            $err.fadeIn('slow');
            $err.delay(3000).fadeOut('slow');
            }

如果你知道一种更有效的延迟(意味着推迟)淡出的方法,请告诉我。使用延迟(3000).fadeOut对我来说似乎最有效率?

CSS:

.error-notification {
    background-color:#AE0000;
    color:white;
    cursor:pointer;
    display: none;
    padding:15px;
    padding-top: 0;
    position:absolute;
    z-index:1;
    font-size: 100%;
}

.error-notification h2 {
    font-family:Trebuchet MS,Helvetica,sans-serif;
    font-size:140%;
    font-weight:bold;
    margin-bottom:7px;
}

3 个答案:

答案 0 :(得分:3)

setTimeout(function() {
    $err.fadeOut()
}, 3000);

答案 1 :(得分:0)

而不是写

$err.delay(3000).fadeout('slow');

尝试写作

$err.fadeout('4000');

答案 2 :(得分:0)

难道你不必排队延迟吗?试试这个

$err.fadeIn('slow').delay(3000).fadeOut('slow');