JavaScript没有睡在正确的位置

时间:2016-04-12 07:30:14

标签: javascript sleep

我有点问题。在我的主页上,我有一个按钮。此按钮通过onclick调用函数(onclick =“showhidelogin()”)。

该函数如下所示:

function showhidelogin() {
    document.getElementById("null").id = "menu-sticky";
    sleep(1000);
    document.getElementById("loginform").id = "loginformview";

}

为什么页面首先等待,然后执行两个“getElementById”-Statements? (setTimeout也不起作用)

2 个答案:

答案 0 :(得分:0)

Javascript中没有sleep功能。您必须使用setTimeout

执行此操作
function showhidelogin() {
    document.getElementById("null").id = "menu-sticky";
    setTimeout(function () {
        document.getElementById("loginform").id = "loginformview";
    }, 1000);
}

答案 1 :(得分:0)

Ananth答案的改进(检查getElementById()是否返回了某些内容):

function showhidelogin() {
    if(document.getElementById("null")) {
        document.getElementById("null").id = "menu-sticky";
    }
    setTimeout(function () {
        if (document.getElementById("loginform")) {
            document.getElementById("loginform").id = "loginformview";
        }
    }, 1000);
}