推迟在document.ready()中执行代码

时间:2011-07-27 01:41:53

标签: jquery

我有一个document.ready函数,我用来滑动切换,它看起来像这样:

$(document).ready(function() {


    if ($("div[id='feature-content']").is(":visible")) {
    $("div[id='feature-content']").hide();
    $("div[id='feature-content']").slideToggle(9000).delay(4000);
    }

    $("div[id='feature-content']").slideToggle(9000).delay(4000);


    });

});

我希望幻灯片切换仅在渲染页面后5秒后发生。所以我通过包含如下的setTimeOut()来修改上面的代码:

$(document).ready(function() {

    window.setTimeout(function() {

        if ($("div[id='feature-content']").is(":visible")) {
        $("div[id='feature-content']").hide();
        $("div[id='feature-content']").slideToggle(9000).delay(4000);
        }

        $("div[id='feature-content']").slideToggle(9000).delay(4000);


        });
    }
    ,
    15000
    );
}); 

但我无法让它发挥作用。有人可以帮助我实现我的目标吗?

谢谢。

1 个答案:

答案 0 :(得分:2)

您的代码中还有一个});

$(document).ready(function() {
    window.setTimeout(function() {
        if ($("div[id='feature-content']").is(":visible")) {
            $("div[id='feature-content']").hide();
            $("div[id='feature-content']").slideToggle(9000).delay(4000);
        }

        // }); <<< This should not be here

        $("div[id='feature-content']").slideToggle(9000).delay(4000);
    }
    ,
    5000
    );
}); 

http://jsfiddle.net/CnQ38/

如果您还没有,请考虑使用Firebug或Chrome控制台。两者都会告诉你额外的代码/语法错误。