Показать сообщение отдельно
  #1 (permalink)  
Старый 19.08.2009, 16:13
Профессор
Отправить личное сообщение для alexKniaz Посмотреть профиль Найти все сообщения от alexKniaz
 
Регистрация: 14.10.2008
Сообщений: 186

Скрипт не работет в IE
Вот таблица стилей :
<style type="text/css">
#informers_selector_content>div{display:none;}
#informers_selector_menu>span:hover{
text-decoration:underline;
border-top:1px outset #d5d5d5;
border-left:1px outset #d5d5d5;
border-right:1px outset #d5d5d5;
border-color:#d5d5d5;
}
</style>

Вот JS
<script type="text/javascript">
function setActive(obj,active){if(active==true){obj.style.display='block';}else{obj.style.display='none';}}

function activate(obj,name){
var showid=new String(obj.id);
var len=showid.length;
var showid=showid.substr(2,len);
var obj=document.getElementById(name+'_selector_content');

for (var childItem in obj.childNodes) {
 if (obj.childNodes[childItem].nodeType == 1){
  if(obj.childNodes[childItem].id==showid){setActive(obj.childNodes[childItem],true);}
  else{setActive(obj.childNodes[childItem],false);}
 }
}
}

function setTabs(name){
var obj=document.getElementById(name+'_selector_menu');
var len=obj.childNodes.length;
for(i=1;i<len;i++){
 var sObj=obj.childNodes.item(i);
 sObj.onclick=function(){activate(this,name);}
}
}

window.onload=function(){setTabs('informers');}
</script>


И вот HTML :
<div id="informers_selector_menu">
 <span id="shrecomendate" onclick="activate(this,'informers');">Рекомендуем</span>
 <span id="shweather">Погода</span>
 <span id="shnews">Новости</span>
 <span id="shsoft">Софт</span>
 <span id="shhardware">Оборудование</span>
 <span id="shother">Другое</span>
</div>
<div id="informers_selector_content">
<div id="recomendate">
1
</div>
<div id="weather">
2
</div>
<div id="news">
3
</div>
<div id="soft">
4
</div>
<div id="hardware">
5
</div>
<div id="other">
6
</div>
</div>



Итоги :
1) работет в OPERA в IE - нет.
2) при добавлении в DIV-ы с контентом вкладок (да, да 1,2,3,4,5,6) HTML-тегов перестаёт работаьб даже в OPERA
------------------------------------------
После изменения JS кода в IE при клике на 1-м спане (у которого id==shrecomendate) отображается див recomendate, у остальных - ничего не происходит при кликах на их div-ах.
-------------------------------------------
Причина 2-й проблемы ясна - ошибка в CSS. Исправил

Последний раз редактировалось alexKniaz, 19.08.2009 в 17:19.
Ответить с цитированием