|
|
|
|
<script type="text/javascript" language="javascript">
function navAllInactive() {
var oNav = document.getElementById('tabs');
var oLis = oNav.getElementsByTagName('DIV');
for (i = 0; i < oLis.length; i++) {
var num = i + 1;
oLis[i].className = 'tab' + num;
}
}
function hideAllData() {
var oData = document.getElementById('menu_block');
var oDivs = oData.getElementsByTagName('UL');
for (i = 0; i < oDivs.length; i++) {
oDivs[i].style.display = 'none';
}
}
function doShow(o, pageId) {
hideAllData();
navAllInactive();
switch(pageId) {
case 'one':
nameClass = 'tab1_on';
break;
case 'two':
nameClass = 'tab2_on';
break;
case 'three':
nameClass = 'tab3_on';
break;
case 'fore':
nameClass = 'tab4_on';
break;
}
o.className = nameClass;
oData = document.getElementById(pageId);
oData.style.display = 'block';
return false;
}
</script>
|
Почему вся эта прелесть не работает в IE, вернее она работает вот только не меняет классы кнопок? | |
|
|
|
|
|
|
|
для: sanchescom
(28.01.2010 в 14:07)
| | o.setAttribute('class', nameClass); | |
|
|
|
|
|
|
|
для: sl1p
(28.01.2010 в 14:20)
| | не помогло! | |
|
|
|
|
|
|
|
для: sanchescom
(28.01.2010 в 15:06)
| | в цикле тоже заменили? | |
|
|
|
|
|
|
|
для: sl1p
(28.01.2010 в 15:08)
| | Ага.
for (i = 0; i < oLis.length; i++) {
var num = i + 1;
Name = 'tab' + num;
oLis[i].setAttribute('class', Name);
}
|
| |
|
|
|
|
|
|
|
для: sanchescom
(28.01.2010 в 14:07)
| | Что вы передаете функции doShow () в качестве параметров?
Дайте кусочек кода
onчего-то="doShow ('первый_параметр', 'второй_параметр')"
| Соответственно, если параметры - какие-то переменные, то дайте их значения.
Первый ваш параметр должен быть ОБЪЕКТОМ (каким-то тегом), второй - СТРОКОЙ (в кавычках). | |
|
|
|
|
|
|
|
для: АЯ
(28.01.2010 в 15:12)
| |
<!--TOP MENU-->
<div id="menu_bg">
<div id="tabs">
<div class="tab1_on" onclick="javascript:doShow(this, 'one');"><a href="#">Авто</a></div>
<div class="tab2" onclick="javascript:doShow(this, 'two');"><a href="#">Новости</a></div>
<div class="tab3" onclick="javascript:doShow(this, 'three');"><a href="#">Статьи</a></div>
<div class="tab4" onclick="javascript:doShow(this, 'fore');"><a href="#">Общение</a></div>
<div class="clear"></div>
</div>
</div>
<!--#TOP MENU-->
<!--MENU-->
<div id="main_menu">
<div id="m_left"> </div>
<div id="menu_block">
<ul id="one" style="display:block;">
<li><a href="">АвтоСтоянки</a></li>
<li><a href="">АвтоСалоны</a></li>
<li><a href="">АвтоЗапчасти</a></li>
<li><a href="">АвтоСервисы</a></li>
<li><a href="">АвтоМойки</a></li>
<li><a href="">Авто АЗС</a></li>
<li><a href="">АвтоПеревозки</a></li>
</ul>
</div>
<div id="m_right"> </div>
</div>
<!--#MENU-->
|
| |
|
|
|
|
|
|
|
для: sanchescom
(28.01.2010 в 15:16)
| | Во-первых, во всех div'ах внутри <div id="tabs"> уберите протокол javascript:
И вообще НИКОГДА его не используйте нигде, кроме атрибута HREF тега <A>
Во-вторых, во всех ссылках (в тегах <A>) внутри <div id="tabs"> добавьте onclick="return false"
В-третьих, классы должны быть у вас прописаны ТАК:
<style>
.tab1 a {}
.tab1_on a {}
.tab2 a {}
.tab2_on a {}
/* и так далее - именно для тегов <A> внутри div'ов с указанным классом */
</style>
|
Когда всё это реализуете, то ваш исходный код (где ещё нет бессмысленного использования метода setAttribute) будет работать в MSIE. | |
|
|
|
|
|
|
|
для: АЯ
(28.01.2010 в 15:32)
| | Ну в общем сделал, но IE опять шлет в жжж. Что пропустил?
<style type="text/css">
.tabs { cursor:pointer; }
.tab1 a { background-image:url(images/tab_off.png); background-repeat:no-repeat; width:99px; height:22px; float:left; z-index:50; position:relative; }
.tab1_on a { background-image:url(images/tab_on.png); background-repeat:no-repeat; width:99px; height:22px; float:left; z-index:50; position:relative; }
.tab2 a { background-image:url(images/tab_off.png); background-repeat:no-repeat; width:99px; height:22px; float:left; z-index:40; position:relative; margin-left:-12px; }
.tab2_on a { background-image:url(images/tab_on.png); background-repeat:no-repeat; width:99px; height:22px; float:left; z-index:50; position:relative; margin-left:-12px; }
.tab3 a { background-image:url(images/tab_off.png); background-repeat:no-repeat; width:99px; height:22px; float:left; z-index:30; position:relative; margin-left:-12px; }
.tab3_on a { background-image:url(images/tab_on.png); background-repeat:no-repeat; width:99px; height:22px; float:left; z-index:50; position:relative; margin-left:-12px; }
.tab4 a { background-image:url(images/tab_off.png); background-repeat:no-repeat; width:99px; height:22px; float:left; z-index:20; position:relative; margin-left:-12px; }
.tab4_on a { background-image:url(images/tab_on.png); background-repeat:no-repeat; width:99px; height:22px; float:left; z-index:50; position:relative; margin-left:-12px; }
</style>
<script type="text/javascript" language="javascript">
function navAllInactive() {
var oNav = document.getElementById('tabs');
var oLis = oNav.getElementsByTagName('DIV');
for (i = 0; i < oLis.length; i++) {
var num = i + 1;
oLis[i].className = 'tab' + num;
}
}
function hideAllData() {
var oData = document.getElementById('menu_block');
var oDivs = oData.getElementsByTagName('UL');
for (i = 0; i < oDivs.length; i++) {
oDivs[i].style.display = 'none';
}
}
function doShow(o, pageId) {
hideAllData();
navAllInactive();
switch(pageId) {
case 'one':
nameClass = 'tab1_on';
break;
case 'two':
nameClass = 'tab2_on';
break;
case 'three':
nameClass = 'tab3_on';
break;
case 'fore':
nameClass = 'tab4_on';
break;
}
o.className = nameClass;
alert(o.className);
oData = document.getElementById(pageId);
oData.style.display = 'block';
return false;
}
</script>
<!--HEADER-->
<div id="header_bg">
<div id="header">
<div id="logo"><a href=""><img src="images/logo.jpg" width="258" height="67" alt="" /></a></div>
<div id="top_banner"> </div>
<div id="top_video"> </div>
</div>
</div>
<!--#HEADER-->
<!--TOP MENU-->
<div id="menu_bg">
<div id="tabs">
<div class="tab1" onclick="doShow(this, 'one');"><a href="#" onclick="return false;">Авто</a></div>
<div class="tab2" onclick="doShow(this, 'two');"><a href="#" onclick="return false;">Новости</a></div>
<div class="tab3" onclick="doShow(this, 'three');"><a href="#" onclick="return false;">Статьи</a></div>
<div class="tab4" onclick="doShow(this, 'fore');"><a href="#" onclick="return false;">Общение</a></div>
<div class="clear"></div>
</div>
</div>
<!--#TOP MENU-->
<!--MENU-->
<div id="menu_block">
<ul id="one" style="display:block;">
<li><a href="">АвтоСтоянки2</a></li>
<li><a href="">АвтоСалоны2</a></li>
<li><a href="">АвтоЗапчасти2</a></li>
<li><a href="">АвтоСервисы2</a></li>
<li><a href="">АвтоМойки2</a></li>
<li><a href="">Авто АЗС2</a></li>
<li><a href="">АвтоПеревозки2</a></li>
</ul>
<ul id="two" style="display:none;">
<li><a href="">АвтоСтоянки2</a></li>
<li><a href="">АвтоСалоны2</a></li>
<li><a href="">АвтоЗапчасти2</a></li>
<li><a href="">АвтоСервисы2</a></li>
<li><a href="">АвтоМойки2</a></li>
<li><a href="">Авто АЗС2</a></li>
<li><a href="">АвтоПеревозки2</a></li>
</ul>
</div>
<div id="m_right"> </div>
<!--#MENU-->
|
| |
|
|
|
|
|
|
|
для: sanchescom
(28.01.2010 в 17:19)
| | У меня ВСЁ РАБОТАЕТ. Удостоверьтесь:
<style>
.tab1 a, .tab2 a, .tab3 a, .tab4 a {color: aqua}
.tab1_on a, .tab2_on a, .tab3_on a, .tab4_on a {color: gray}
</style>
<script>
//Ваш скрипт
</script>
<div id="menu_bg"><div id="tabs">
<div class="tab1_on" onclick="doShow (this, 'one')" ><a href="#" onclick="return false">one</a ></div>
<div class="tab2" onclick="doShow (this, 'two')" ><a href="#" onclick="return false">two</a ></div>
<div class="tab3" onclick="doShow (this, 'three')"><a href="#" onclick="return false">three</a></div>
<div class="tab4" onclick="doShow (this, 'fore')" ><a href="#" onclick="return false">fore</a ></div>
</div></div>
<div id="menu_block">
<ul id="one" ><li><a href="">1</a ></ul>
<ul id="two" style="display: none" ><li><a href="">22</a ></ul>
<ul id="three" style="display: none;"><li><a href="">333</a ></ul>
<ul id="fore" style="display: none;"><li><a href="">4444</a></ul>
</div>
|
| |
|
|
|
|
|
|
|
для: АЯ
(28.01.2010 в 19:02)
| | Спасибо большое за помощь, действительно работает. Разобрался почему не пашет у меня!
Дело в том что у меня в качестве картинок стоят pngшки, для ie подключаю fixpng.js. Вот из-за него ничего и не работает. Стоит его отключить и все сразу заработало. | |
|
|
|