Я пытаюсь сделать довольно простое скрытие / показ div'ов, используя prototype.js.Страница работает полностью корректно в Firefox, Chrome и Safari, но одна конкретная часть не будет работать в IE: первоначальное скрытие div.На странице есть три элемента div, а javascript написан так, что вы можете переключаться между ними, при этом одновременно отображается только один элемент.Эта часть также отлично работает в IE, но по какой-то причине при первой загрузке страницы отображаются все 3 элемента div.Я перепробовал много вещей, чтобы скрыть их, оставив меня в этом текущем воплощении:
Соответствующий 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, как только я выбираю любую из ссылок, она правильно скрывает div, а затем открывает правильную, что указывает на то, что я могу найти и скрыть div.Однако, когда я впервые загружаю страницу в IE, она ничего не скрывает.Мысли о том, почему это происходит?
РЕДАКТИРОВАТЬ: После дальнейших исследований, я думаю, это может быть связано с проблемами с IE и проверки загрузки DOM.