| imho.ws |
![]() |
|
|
|
# 1 |
|
Junior Member
Регистрация: 01.06.2003
Адрес: Msk
Пол: Male
Сообщения: 138
![]() |
JScript и JavaScript
Проблема совместимости...
Есть код на JScript: Код:
<script language="JavaScript">
function Toggle(node) {
if (node.nextSibling.style.display == 'none') {
if (node.children.length > 0) {
if (node.children.item(0).tagName == "IMG") {
node.children.item(0).src = "minus.gif";
}
if (node.children.item(1).tagName == "IMG") {
node.children.item(1).src = "folderopen.gif";
}
}
node.nextSibling.style.display = '';
}
else {
if (node.children.length > 0) {
if (node.children.item(0).tagName == "IMG") {
node.children.item(0).src = "plus.gif";
}
if (node.children.item(1).tagName == "IMG") {
node.children.item(1).src = "folderclose.gif";
}
}
node.nextSibling.style.display = 'none';
}
}
</script>
Встраивается вот в такие конструкции: Код:
<span onClick="Toggle(this)"><img src="plus.gif"> <img src="folderclose.gif">имя</span> <span style="display: none;">содержимое</span> .Есть идеи почему?
__________________
Завтра будет. Лучше. |
|
|
|
|
# 3 |
|
Junior Member
Регистрация: 01.06.2003
Адрес: Msk
Пол: Male
Сообщения: 138
![]() |
В том то и дело, что молчит как партизан. Попробовал поменять item(..)=childNodes(..) и tagName=nodeName - не вышло...
btw, есть ли хорошая статья по совместимости браузеров? А то на сайте не только jscript не работает, есть различия в css обработке...
__________________
Завтра будет. Лучше. |
|
|
|
|
# 4 |
|
Full Member
Регистрация: 29.05.2002
Сообщения: 544
![]() ![]() ![]() ![]() ![]() |
в mozilla есть превосходный отладчик и dom инспектор.
а статьи: w3c.org или msdn(ежели по IE). dom-2 core reference: http://www.w3.org/TR/2000/REC-DOM-Le...1113/core.html
__________________
убрано по просьбе администратора
Последний раз редактировалось Sheryld; 19.01.2005 в 16:00. |
|
|
|
|
# 5 | |||
|
МОД-Оператор ЭВМ
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
Цитата:
Цитата:
|
|||
|
|
|
|
# 6 | ||
|
Junior Member
Регистрация: 01.06.2003
Адрес: Msk
Пол: Male
Сообщения: 138
![]() |
Цитата:
Цитата:
, w3c посерфил и забил... За линк спасибо тоже)).Все у меня вышло: Код:
function Toggle(node) {
spanstyle = node.nextSibling.style;
if (navigator.appName == "Microsoft Internet Explorer")
{
icon1 = node.children.item(0);
icon2 = node.children.item(1);
}
else
{
icon1 = node.childNodes[0];
icon2 = node.childNodes[1];
}
if (spanstyle.display == "none") {
icon1.src = "minus.gif";
icon2.src = "folderopen.gif";
spanstyle.display = '';
}
else {
icon1.src = "plus.gif";
icon2.src = "folderclose.gif";
spanstyle.display = 'none';
}
}
__________________
Завтра будет. Лучше. Последний раз редактировалось V0iD; 19.01.2005 в 17:20. |
||
|
|
|
|
# 7 |
|
мод
IMHO Кодер-200(6,7,8) Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Просто Мозилла не знает children, у нее нужно использовать вместо этого childNodes, кстати это и в ИЕ работает прекрасно, поэтому скрипт получается приблизительно такой:
Код:
<script language="JavaScript">
function Toggle(node) {
if (node.nextSibling.style.display == 'none') {
if (node.childNodes.length > 0){
if (node.childNodes[0].tagName == "IMG") {
node.childNodes[0].src = "minus.gif";
}
if (node.childNodes[1].tagName == "IMG") {
node.childNodes[1].src = "folderopen.gif";
}
}
node.nextSibling.style.display = '';
}
else {
if (node.childNodes.length > 0) {
if (node.childNodes[0].tagName == "IMG") {
node.childNodes[0].src = "plus.gif";
}
if (node.childNodes[1].tagName == "IMG") {
node.childNodes[1].src = "folderclose.gif";
}
}
node.nextSibling.style.display = 'none';
}
}
</script>
P.S. Кстати, нормально она говорит об ошибках, вполне четко и понятно, а не молчит...
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям! Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru Pahan-Hubbitus. Последний раз редактировалось Hubbitus; 19.01.2005 в 17:17. Причина: Опоздал слегка :) |
|
|
|
|
# 8 | |
|
Junior Member
Регистрация: 01.06.2003
Адрес: Msk
Пол: Male
Сообщения: 138
![]() |
Цитата:
btw, я ненужные проверки тоже убрал .
__________________
Завтра будет. Лучше. |
|
|
|
|
|
# 9 | |
|
МОД-Оператор ЭВМ
Регистрация: 18.04.2002
Адрес: Питер
Сообщения: 4 343
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
http://www.w3.org/TR/2004/REC-DOM-Le...t-binding.html |
|
|
|