网站建设。由脚本添加的元素未显示,但在刷新后显示

时间:2016-09-05 21:48:36

标签: javascript html loading

我有这个奇怪的......错误?不需要的行为。
我通过脚本添加一些div元素。如果您以前从未访问过该网站,则不会加载任何这些div。我看到了,因为所有这些div都有一个background-image属性集。我也知道我实际上很好地添加它们,因为当我刷新页面时,我看到了我想要看到的结果。所以,问题是当有人第一次来到那个网站时,他什么也看不见。没有“按钮”(那些是我正在谈论的div),他不知道他需要像我一样刷新页面才能看到它们。

HTML

<body>
    <div id="outter">
        <script> CreateButton('outter','','','right', 'kolica'); </script>

        <div id="menu"></div>
        <script>
            CreateButton('menu','','','left', 'menuBtnNovo');
            CreateButton('menu','','','left', 'menuBtnDzidzabidze');
            CreateButton('menu','','','left', 'menuBtnUskoro');
            CreateButton('menu','','','left', 'menuBtnPredlozi');
        </script>
    </div>
</body>

SCRIPT (编辑)

<script>
        function CreateButton(parentElementID, width, height, floating, id){
            // create div
            var div = document.createElement("div");
            div.Id = id;
            div.style.float = floating;
            div.style.padding = "0";
            div.style.margin = "0";
            div.style.backgroundSize = "100% 100%";
            div.style.backgroundImage = "url(images/mo/" + id + ".png)";
            div.style.backgroundImage = "url(images/def/" + id + ".png)";

            var imageSrc = div.style.backgroundImage.replace(/url\((['"])?(.*?)\1\)/gi, '$2').split(',')[0];
            var image = new Image();
            image.src = imageSrc;

            if(width ==  '') width =  image.width +  "px";
            if(height == '') height = image.height + "px";
            div.style.width  = width ;
            div.style.height = height;
            div.onmouseover = function(){ div.style.backgroundImage = "url(images/mo/" +  id + ".png)"; };
            div.onmouseout  = function(){ div.style.backgroundImage = "url(images/def/" + id + ".png)"; };

            // append
            if(parentElementID != '')   document.getElementById(parentElementID).appendChild(div);
            else                        document.body.appendChild(div);
        }
    </script>

CreateButton的脚本包含在头部,它工作正常,而不是第一次你去现场。为什么页面没有按时加载?在脚本中,我通过parentID将div附加到父级,并且我为我想要的那个按钮执行所有格式化和图像加载。我承认我是HTML和JavaScript的新手 问题:为什么div不按时加载?我该如何克服这个问题?

0 个答案:

没有答案