我试图用prototype.js做一些相当简单的隐藏/显示div。该页面在Firefox,Chrome和Safari中完全正确工作,但是一个特定部分在IE中不起作用:div的初始隐藏。该页面有三个div,并且javascript被写入,以便您可以在它们之间切换,一次只显示一个。这部分在IE中也能正常工作,但由于某种原因,当页面第一次加载时,它显示了所有3个div。我试过很多东西要隐藏起来,让我这个目前的化身:Div在IE中只隐藏使用prototype.js
相关的HTML:
<div class="linkbar">
<a class='normal' href="JavaScript:void()" sec="map">Map</a><br><br>
<a class='normal' href="JavaScript:void()" sec="tour">Tour</a><br><br>
<a class='normal' href="JavaScript:void()" sec="vid">Videos</a><br><br>
</div>
<div class="bg">
<div class="section" id="map" sec="map">
...html here...
</div>
<div class="section" id="tour" sec="tour">
...html here...
</div>
<div class="section" id="vid" sec="vid">
...html here...
</div>
</div>
相应的JavaScript:
document.observe('dom:loaded', function() {
showSection("map");
var currSection = 'map';
$$('a.normal').each(function(p){
Event.observe(p,'click',function(){
var hr = $(this).readAttribute("sec");
showSection(hr);
currSection = hr;
});
});
function showSection(sectionname){
$$('div.section').each(function(d){
d.hide();
});
$(sectionname).show();
}
});
</script>
所以在IE浏览器,只要我选择了任何链接,它正确隐藏了divs,然后打开正确的链接,这会向我表明它能够找到并隐藏div。但是,当我第一次在IE中加载页面时,它不会隐藏任何内容。为什么会发生这种情况的想法?
编辑:进一步研究后,我认为这可能与IE和检查DOM加载问题有关。
发布解决方案作为答案,并从标题中删除'[Solved]'标签。这不是论坛,而是问答网站。问题和答案,每个都在自己的帖子中。 – 2012-02-11 21:30:46
谢谢你让我知道。改变。 – FunkyDelPueblo 2012-02-12 00:47:36