Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript没有在正确的位置休眠_Javascript_Sleep - Fatal编程技术网

JavaScript没有在正确的位置休眠

JavaScript没有在正确的位置休眠,javascript,sleep,Javascript,Sleep,我有个小问题。在我的主页上我有一个按钮。此按钮通过onclick调用函数(onclick=“showhidelogin()”) 函数如下所示: function showhidelogin() { document.getElementById("null").id = "menu-sticky"; sleep(1000); document.getElementById("loginform").id = "loginformview"; } 为什么页面像第一个一样

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

函数如下所示:

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

}
为什么页面像第一个一样等待,然后执行两个“getElementById”-语句?
(setTimeout也不起作用)

Javascript中没有
sleep
函数。必须使用
setTimeout
执行此操作

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

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


JavaScript
中没有睡眠功能。您是否使用任何库?您是否可以共享可执行的演示/代码片段或?你想达到什么目的?我认为OP没有以正确的方式使用setTimeout。。setTimeout怎么可能不起作用呢?我们的假设应该是评论的一部分。。OP没有使用
DOM
,预期的输出似乎不一样…@Ananth好吧,任何函数都可以使用,使其不能以预期的方式工作。例如,OP的脚本顶部可能有
setTimeout='wtf'
。)为什么OP正在更改
id
属性tho?
function showhidelogin() {
    if(document.getElementById("null")) {
        document.getElementById("null").id = "menu-sticky";
    }
    setTimeout(function () {
        if (document.getElementById("loginform")) {
            document.getElementById("loginform").id = "loginformview";
        }
    }, 1000);
}