但是jQuery延迟不起作用

时间:2013-12-19 02:41:29

标签: jquery

我遇到了一个我无法弄清楚的问题:

$(doc).ready(function(){
    $("span").html("<span>No</span>");

    $("button").click(function(){
        $("span").html(getRandomInt(50, 200));
        $(this).fadeOut(500);
        $("#title").delay(501).css({'margin-bottom': '110'});
    });
});




var doc = document;

var rand = Math.floor(Math.random()) * 259;

function getRandomInt(min, max) {
    return Math.floor(Math.random() * (max - min + 1)) + min;
}

为什么.delay(501)中的$("#title")不起作用? .css()有效,而不是延迟。

1 个答案:

答案 0 :(得分:2)

因为.css()函数不能基于队列工作,所以它是同步操作....

看起来你试图在按钮淡出后设置margin属性,所以使用jQuery提供的完整回调方法

$("button").fadeOut(500, function(){
    $("#title").css({'margin-bottom': '110'});
});