Javascript appendChild(div):混乱

时间:2017-02-17 15:27:53

标签: javascript css

我试图显示在#34;页面加载中使用的相同加载器"在提交"提交"按下按钮。

在页面的最顶部,我有:

<div id="gabbia"><div id="load_screen"><div id="loader"></div></div></div>

(&#34; gabbia&#34;只是一个容器而#34; load_screen&#34;&#34;装载机&#34;用css格式化以获得一个漂亮的&#34;旋转轮&#34 ;)

我有这个脚本:

var gabbia = document.getElementById("gabbia");
var load_screen = document.getElementById("load_screen");
var loader = document.getElementById("loader");

window.addEventListener("load", function () {
        gabbia.removeChild(gabbia.childNodes[0]);
    });

function show_loader() {
            var cont = document.getElementById("gabbia");
             cont.appendChild(load_screen);
             var subcont = document.getElementById("load_screen");
             subcont.appendChild(loader);
        }

似乎在show_loader()调用中,添加了第一个DIV(load_screen),而第二个(loader)没有作为子项添加来重建加载器。

我之前从未使用过javascript,抱歉。 感谢您的帮助,以便了解。

1 个答案:

答案 0 :(得分:1)

我不知道错误是什么。我相信它是因为你在错误的位置使用了document.getElementById(在页面加载之前)。我会这样做(使用css更简单+更有效):

window.addEventListener("load",loader);

function loader(val) {
     document.getElementById("gabbia").style.display=val?"block":"none";
}

像这样使用:

loader();//hide
loader(false)//hide
loader(true)//show