Страницы: 1
Не работает раскрывающийся список в мозиле, в ИЕ или Опере все работает, подскажите пожалуйста как его исправить.
Вот сам скрипт:
<script language=JavaScript>
function clickHandler() {
var strelka, targetId, srcElement, targetElement;
srcElement = window.event.srcElement;
if (srcElement.className == "Outline") { targetId = srcElement.id + "details"; strelka = srcElement.id + "str"; targetElement = document.all(targetId);
if (targetElement.style.display == "none") { targetElement.style.display = ""; document.all(strelka).src="jpg/treugdown.gif"; }
else { targetElement.style.display = "none"; document.all(strelka).src="jpg/treug.gif"; } }}
document.onclick = clickHandler; </script>
<table width="240" height="265" border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="37" colspan="2" valign="top"> </td>
</tr>
<tr>
<td width="14" valign="top">
</td>
<td width="226" valign="top">
<b id="Out1" class="Outline" style="cursor: hand;"><img id=Out1str src="jpg/treug.gif" width="7" height="10"> ДЕЛОВАЯ ПОЛИГРАФИЯ</b>
<div id="Out1details" style="display:None; position:relative; left:36px; top: 0px;">
<a href="menu11.shtml">ВИЗИТКИ КОРПОРАТИВНЫЕ</a><br>
<a href="menu12.shtml">ВИЗИТКИ ПЕРСОНАЛЬНЫЕ</a><br>
<a href="menu13.shtml">КОНВЕРТЫ</a><br>
<a href="menu14.shtml">БЛАНКИ</a><br>
<a href="menu15.shtml">ПРОЧЕЕ</a></div><img src="jpg/tochki.gif" width="207" height="12"><br>
<b id="Out2" class="Outline" style="cursor: hand;"><img id=Out2str src="jpg/treug.gif" width="7" height="10"> РЕКЛАМНАЯ ПОЛИГРАФИЯ</b>
<div id="Out2details" style="display:None; position:relative; left:36px; top: 0px;">
<a href="menu21.shtml">ЛИСТОВКИ</a><br>
<a href="menu22.shtml">БУКЛЕТЫ</a><br>
<a href="menu23.shtml">ФЛАЕРСЫ</a><br>
<a href="menu24.shtml">КАТАЛОГИ</a><br>
<a href="menu25.shtml">НАКЛЕЙКИ</a><br>
<a href="menu26.shtml">ПРОЧЕЕ</a></div><img src="jpg/tochki.gif" width="207" height="12"><br>
........................ и так далее
Он это меню видит как обычный текст, тоесть не работает даже style="cursor: hand;".
Отсутствует
Ну может хотя бы теги <html> и <body> для приличия вставите?
Если программист в рабочее время играет, значит —
либо у него мало работы и большая зарплата,
либо у него много работы и маленькая зарплата.
Отсутствует
Shunsui
"str"; targetElement = document.all(targetId);
if (targetElement.style.display == "none") { targetElement.style.display = ""; document.all(strelka).src="jpg/treugdown.gif"; }
Не то что бы я разработчик, но сразу могу сказать что document.all - чисто IE-шное изобретение.
P.S. В русской версии Firefox консоль ошибок в основном говорит по русски.
Do not meddle in the affairs of Wizards, for they are subtle and quick to anger.
Отсутствует
Используйте вместо document.all("identificator") document.getElementById("identificator")
Отредактировано AKS (03-07-2007 21:35:38)
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:2.0b1) Gecko/20100630 Firefox/4.0b1
Отсутствует
window.event - вот это только IE
Отредактировано arka (04-07-2007 10:16:20)
Отсутствует
В Gecko вместо window.event в функцию передается объект event....
Для создания кроссбраузерного скрипта имеет смысл написать:
Отредактировано AKS (05-07-2007 02:00:58)
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:2.0b1) Gecko/20100630 Firefox/4.0b1
Отсутствует
function f (e) { var target= e.target || event.srcElement; alert(target.tagName); };
Отредактировано Dark-Demon (05-07-2007 02:20:14)
!
Отсутствует
Получилась вот такая вещь
<script language=JavaScript> function clickHandler() { var strelka, targetId, srcElement, targetElement; srcElement = event.srcElement ? event.srcElement : event.target; if (srcElement.className == "Outline") { targetId = srcElement.id + "details"; strelka = srcElement.id + "str"; targetElement = document.getElementById(targetId); if (targetElement.style.display == "none") { targetElement.style.display = ""; document.getElementById(strelka).src="jpg/treugdown.gif"; } else { targetElement.style.display = "none"; document.getElementById(strelka).src="jpg/treug.gif"; } } } document.onclick = clickHandler; </script> <table width="240" height="265" border="0" cellpadding="0" cellspacing="0"> <tr> <td height="37" colspan="2" valign="top"> </td> </tr> <tr> <td width="14" valign="top"> </td> <td width="226" valign="top"> <b id="Out1" class="Outline" style="cursor: pointer;"><img id=Out1str src="jpg/treug.gif" width="7" height="10"> ДЕЛОВАЯ ПОЛИГРАФИЯ</b> <div id="Out1details" style="display:None; position:relative; left:36px; top: 0px;"> <a href="menu11.shtml">ВИЗИТКИ КОРПОРАТИВНЫЕ</a><br> <a href="menu12.shtml">ВИЗИТКИ ПЕРСОНАЛЬНЫЕ</a><br> <a href="menu13.shtml">КОНВЕРТЫ</a><br> <a href="menu14.shtml">БЛАНКИ</a><br> <a href="menu15.shtml">ПРОЧЕЕ</a></div><img src="jpg/tochki.gif" width="207" height="12"><br>
ИЕ при этом отлично работает, но Мозила всеравно отказывается раскрывать слои.
Отредактировано Shunsui (09-07-2007 15:35:04)
Отсутствует
Всё уже было разжевано. В который раз уже говорится - в ФФ есть консоль ошибок, смотрим туда в первую очередь.
<script type="text/javascript"> function clickHandler(e) { var strelka, targetId, srcElement, targetElement; srcElement = e.srcElement ? e.srcElement : e.target; if (srcElement.className == "Outline") { targetId = srcElement.id + "details"; strelka = srcElement.id + "str"; targetElement = document.getElementById(targetId); if (targetElement.style.display == "none") { targetElement.style.display = ""; document.getElementById(strelka).src="jpg/treugdown.gif"; } else { targetElement.style.display = "none"; document.getElementById(strelka).src="jpg/treug.gif"; } } } </script> <table width="240" height="265" border="0" cellpadding="0" cellspacing="0"> <tr><td height="37" colspan="2" valign="top"> </td></tr> <tr><td width="14" valign="top"></td> <td width="226" valign="top"> <b id="Out1" class="Outline" style="cursor: pointer;" onclick="clickHandler(event)"><img id=Out1str src="jpg/treug.gif" width="7" height="10"> ДЕЛОВАЯ ПОЛИГРАФИЯ</b> <div id="Out1details" style="display:None; position:relative; left:36px; top: 0px;"> <a href="menu11.shtml">ВИЗИТКИ КОРПОРАТИВНЫЕ</a><br> <a href="menu12.shtml">ВИЗИТКИ ПЕРСОНАЛЬНЫЕ</a><br> <a href="menu13.shtml">КОНВЕРТЫ</a><br> <a href="menu14.shtml">БЛАНКИ</a><br> <a href="menu15.shtml">ПРОЧЕЕ</a></div><img src="jpg/tochki.gif" width="207" height="12"><br> </td> </tr> </table>
Отсутствует
Ребята, помогите!
Аналогичная проблема, но не хватает мозгов, чтобы поправить код.
<script language="JavaScript">
function change()
{ if(!document.all) return
if (event.srcElement.id=="foldheader")
{ var srcIndex = event.srcElement.sourceIndex
var nested = document.all[srcIndex+1]
if (nested.style.display=="none") {nested.style.display=''} else {nested.style.display="none"} } }
document.onclick=change
</script>
<font size="2">
<a href="tools/index.htm" id="foldheader" style="color=#800000;">ЗАПЧАСТИ</a>
<ul id="foldinglist" style="display:none">
<font size="2">
<a href="tools/krep.htm" id="foldheader" style="color=#000080;">Крепеж</a></font>
<ul id="foldinglist" style="display:none"><font size="1">
<a href="tools/krep.htm#Samor" style="color=#008000;">Саморезы</a><hr size="1" style="margin-top: -5;">
<a href="tools/krep.htm#Vint" style="color=#008000;">Винты</a><hr size="1" style="margin-top: -5;">
<a href="tools/krep.htm#Razn" style="color=#008000;">Разное</a>
</ul></font><hr size="1" style="margin-top: -5;">
Три дня "коту под хвост", не получается. Помогите, пожалуйста.
Отсутствует
Копипаст головного мозга.
Выкинуть и переписать с нуля, желательно понимая каждую строчку.
Isn't it ironic... don't you think? — Alanis Morissette
Отсутствует
Копипаст головного мозга.
Выкинуть и переписать с нуля, желательно понимая каждую строчку.
Как раз, мозгов и не хватает. Поэтому, и обращаюсь за помощью к владеющим оными.
Может, имеется готовый скрипт. Только, желательно не трогать код самого каталога, т.к. он очень большой. Тотальную правку я не потяну.
Спасибо за понимание
Отсутствует
Страницы: 1