Сергей Казак
31 сообщение
#16 лет назад
Здравствуйте дорогие коллеги, столкнулся с вот такой проблемой, напсиал небольшой скриптик для древообразного меню и оказалось что, во "всеми любимом ИЕ не пашет", можете как нибудь помочь? срочно надо.




<scrit language="Javascript">

function show(obj,obj2,obj3) {

if (document.getElementById(obj).style.display == 'none')
{
document.getElementById(obj).style.display = 'block';
document.getElementById(obj2).style.display = 'none';
document.getElementById(obj3).style.display = 'none';
}
else
{
document.getElementById(obj).style.display = 'none';
}
}
</script>

Вот собственно и вторая часть


<span class="menu" onclick="show('sub1','sub2','sub3')">+ Knauf</span>

<span class="sub" id="sub1" style="display: none">
<p><a style="font: 12px;color:white;" href=';
<p><a style="font: 12px;color:white;" href=' смесь</a></p>
<p><a style="font: 12px;color:white;" href=';
</span>

<span class="menu" onclick="show('sub2','sub1','sub3')">+ Teplex</span>

<span class="sub" id="sub2" style="display: none">
<p><a href=';
<p><a href=';
<p><a href=';
</span>

<span class="menu" onclick="show('sub3','sub2','sub1'')">+ Основит</span>

<span class="sub" id="sub3" style="display: none; border: 3px">
<p><a href=';
<p><a href=';
<p><a href=';
</span>
Сергей Казак
31 сообщение
#16 лет назад
Ну что прям никто не знает, я вот обнаружил данный баг тоьлко в 7-ом ИЕ, и нашел инфу что он както не так понимает getElementById, может кто-то помочь сделать альтернативу?:?::?
Александр В.
771 сообщение
#16 лет назад
Что именно не пашет? какая ошибка выдаётся IE? алертами прогоните каждое значение! юзайте jQuery в конце концов
Сергей Казак
31 сообщение
#16 лет назад
Никакой ошибки не выдает, тупо не работает, с Jquery не знаком, и понятия не имею как то что у меня есть через Jquery..
Александр В.
771 сообщение
#16 лет назад
Оффтопик
это библиотека такая для работы с js.
При использовании оной весь код бы выглядел так:
Функция вызова - show('obj3';
Сама функция:

function show(id){
$(".sub").each(function(){
$(this).hide();
});
$("#"+id).toggle();
}

и усё


попробуйте алерт в своей функции сразу после function всех трёх входных параметров. Что выдаст
Сергей Казак
31 сообщение
#16 лет назад

<script language="javascript" type="text/javascript">


function show(obj,obj2,obj3,obj4) {
alert(obj);

var objElement = document.getElementById(obj);
var obj2Element = document.getElementById(obj2);
var obj3Element = document.getElementById(obj3);
var obj4Element = document.getElementById(obj4);
alert(objElement.innerHTML);

if (objElement.style.display == 'none')
{
objElement.style.display = 'block';
obj2Element.style.display = 'none';
obj3Element.style.display = 'none';
obj4Element.style.display = 'none';
}
else
{
document.getElementById(obj).style.display = 'none';
}
}
</script>


Александр В.
771 сообщение
#16 лет назад
Эмм... а если в строке 11 написать
alert(objElement.innerHTML);

пишите именно тексты алертов
Александр В.
771 сообщение
#16 лет назад
Show('sub3','sub2','sub1''

в предпоследнем спане двойной апостроф в конце - так щас и есть в коде или опечатка?
Сергей Казак
31 сообщение
#16 лет назад
Не работает в IE, да это опечатка
Александр В.
771 сообщение
#16 лет назад
<scrit
должно быть script. Или тоже опечатка?
Тут М.
626 сообщений
#16 лет назад
Цитата:
Проблема с AJAX в IE

А где тут AJAX?
Про jQuery прислушайтесь - код будет короче, понятней и кроссбраузерней )

Про IE понятно, а что в FF происходит?
Сергей Казак
31 сообщение
#16 лет назад
В фф всё пашет, и алерты и остальное
Сергей Казак
31 сообщение
#16 лет назад
А насчет Jquery ниче не понял, попробовал постаивть как написал александр но ниче не рабоатет
Александр В.
771 сообщение
#16 лет назад
Надо скачать и подключить библиотеку jquery предварительно. 1 js файл
Сергей Казак
31 сообщение
#16 лет назад
Да я уже сделал это.
Сергеевич А.
791 сообщение
#16 лет назад
Как вариант, при подключенном jquery

<script type="text/javascript">
$('.opensub').click(function() {
$('.sub').hide();
$(this).next().show();
});
</script>

<span class="menu opensub">+ Knauf</span>

<span class="sub" style="display: none">
<p><a style="font: 12px;color:white;" href=';
<p><a style="font: 12px;color:white;" href=' смесь</a></p>
<p><a style="font: 12px;color:white;" href=';
</span>

<span class="menu opensub">+ Teplex</span>

<span class="sub" style="display: none">
<p><a href=';
<p><a href=';
<p><a href=';
</span>

<span class="menu opensub">+ Основит</span>

<span class="sub" style="display: none; border: 3px">
<p><a href=';
<p><a href=';
<p><a href=';
</span>
Сергей Казак
31 сообщение
#16 лет назад
Кстати Jquery В ИЕ тоже не работает!!
Тут М.
626 сообщений
#16 лет назад
Цитата ("KiloByte1024"):
Кстати Jquery В ИЕ тоже не работает!!

Кривые руки, однозначно.
Сергей Казак
31 сообщение
#16 лет назад
Цитата ("Demiurh"):
Цитата ("KiloByte1024"):
Кстати Jquery В ИЕ тоже не работает!!

Кривые руки, однозначно.


Не обязательно было умничать, я на форум обратился не потому что хотел выслушивать тупые высказывания а просто попросить помощи. пробовал делать и с кодами которые мне давали на форуме и сам искал по этому поводу инфу и все ранвно не пашет.
Сергеевич А.
791 сообщение
#16 лет назад
Если в других jquery работает, будет и в ie...если не работает - ищите в верстке проблемы
конструкция <span><p></p></span> сама по себе странная, может стоит на div заменить? или сделать через <ul><li>