我有这个奇怪的......错误?不需要的行为。
我通过脚本添加一些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不按时加载?我该如何克服这个问题?