Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.06.2013, 17:09
Интересующийся
Отправить личное сообщение для gurg0n Посмотреть профиль Найти все сообщения от gurg0n
 
Регистрация: 15.06.2013
Сообщений: 12

Cannot read property 'style' of null
Здравствуйте! Вашему вниманию код, который работал до того момента как я решил добавить кое-какие скрипты, которые затем удалил. Казалось бы, вернул все как есть, но сейчас код не работает:

TypeError: Cannot read property 'style' of null [http://magascity.ru/index.php/plan:179]
TypeError: Cannot read property 'style' of null [http://magascity.ru/index.php/plan:188]
TypeError: Cannot read property 'style' of null [http://magascity.ru/index.php/plan:179]
TypeError: Cannot read property 'style' of null [http://magascity.ru/index.php/plan:188]

По идее, при наведении указателя на map area должен был показываться div с классом .tootlip (onmouseover="showLayer('link1'))

Что-то здесь не-так, ведь раньше код работал. Пытался разобраться самостоятельно, но никак не могу найти причину!

<script language="JavaScript1.2">
<!--
var ie = document.all ? 1 : 0;
var ns = document.layers ? 1 : 0;
var topcss = 165;
if (ns)
topcss = 200;
function showLayer(name)
{
if (ie)
 
document.all[name].style.visibility = "visible";
else if (ns)
document.layers[name].visibility = "show";
 
else document.getElementById(name).style.visibility = "visible";    
}
function hideLayer(name)
{
if (ie)
document.all[name].style.visibility = "hidden";
else if (ns)
document.layers[name].visibility = "hide";
 
else document.getElementById(name).style.visibility = "hidden"; 
}
//-->
</script>


Для наглядности:http://jsfiddle.net/TcgH9/8/

Последний раз редактировалось gurg0n, 15.06.2013 в 17:14.
Ответить с цитированием
  #2 (permalink)  
Старый 15.06.2013, 17:30
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от gurg0n
var ie = document.all ? 1 : 0;
var ns = document.layers ? 1 : 0;
var topcss = 165;
if (ns)
topcss = 200;
function showLayer(name)
{
if (ie)

document.all[name].style.visibility = "visible";
Какого года книжка , после прочтения которой писался этот код? -это раз
http://learn.javascript.ru/

Сообщение от gurg0n
if (ie)

document.all[name].style.visibility = "visible";
else if (ns)
document.layers[name].visibility = "show";

else document.getElementById(name).style.visibility = "visible";
где вы этому кодстайлу научились в каком ни отступов ни фигурных скобок не существует для блоков и конструкций? -это два

Сообщение от gurg0n
Здравствуйте! Вашему вниманию код, который работал до того момента как я решил добавить кое-какие скрипты, которые затем удалил. Казалось бы, вернул все как есть, но сейчас код не работает:

TypeError: Cannot read property 'style' of null [http://magascity.ru/index.php/plan:179]
TypeError: Cannot read property 'style' of null [http://magascity.ru/index.php/plan:188]
TypeError: Cannot read property 'style' of null [http://magascity.ru/index.php/plan:179]
TypeError: Cannot read property 'style' of null [http://magascity.ru/index.php/plan:188]
Сообщение от gurg0n
Для наглядности:http://jsfiddle.net/TcgH9/8/
ReferenceError: showLayer is not defined
ReferenceError: hideLayer is not defined
ReferenceError: showLayer is not defined
ReferenceError: hideLayer is not defined
ReferenceError: showLayer is not defined
ReferenceError: hideLayer is not defined
ReferenceError: showLayer is not defined
ReferenceError: showLayer is not defined
ReferenceError: hideLayer is not defined
....
и это три

Последний раз редактировалось dmitriymar, 15.06.2013 в 17:38.
Ответить с цитированием
  #3 (permalink)  
Старый 15.06.2013, 17:49
Интересующийся
Отправить личное сообщение для gurg0n Посмотреть профиль Найти все сообщения от gurg0n
 
Регистрация: 15.06.2013
Сообщений: 12

Спасибо за книжку, но пока у меня нет времени изучать ее. В яве я ноль, а сие решение нашел на одном форуме. Правда не смотрел какого года сообщение))
Но дело в том, что код у меня работал сегодня утром. Хотелось бы понять, почему сейчас не работает
Ответить с цитированием
  #4 (permalink)  
Старый 15.06.2013, 17:52
Интересующийся
Отправить личное сообщение для gurg0n Посмотреть профиль Найти все сообщения от gurg0n
 
Регистрация: 15.06.2013
Сообщений: 12

Сообщение от gurg0n Посмотреть сообщение
не смотрел какого года сообщение
оказывается 2007 года)
Ответить с цитированием
  #5 (permalink)  
Старый 15.06.2013, 18:11
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от gurg0n
оказывается 2007 года)
ну и не стоит им пользоваться вообще . всё изменилось и сильно
Сообщение от gurg0n
Но дело в том, что код у меня работал сегодня утром
-это не повод его использовать

Последний раз редактировалось dmitriymar, 15.06.2013 в 18:15.
Ответить с цитированием
  #6 (permalink)  
Старый 15.06.2013, 18:16
Интересующийся
Отправить личное сообщение для gurg0n Посмотреть профиль Найти все сообщения от gurg0n
 
Регистрация: 15.06.2013
Сообщений: 12

Спасибо. Появится время, буду учить javascript
Ответить с цитированием
  #7 (permalink)  
Старый 15.06.2013, 18:24
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Тогда:
Сообщение от gurg0n
script language="JavaScript1.2">
<!--
var ie = document.all ? 1 : 0;
var ns = document.layers ? 1 : 0;
var topcss = 165;
if (ns)
topcss = 200;
function showLayer(name)
{
if (ie)

document.all[name].style.visibility = "visible";
else if (ns)
document.layers[name].visibility = "show";

else document.getElementById(name).style.visibility = "visible";
}
function hideLayer(name)
{
if (ie)
document.all[name].style.visibility = "hidden";
else if (ns)
document.layers[name].visibility = "hide";

else document.getElementById(name).style.visibility = "hidden";
}
//-->
</script>
Сейчас:
function showLayer(id){
    document.getElementById(id).style.visibility = "visible";
}
function hideLayer(id){
    document.getElementById(id).style.visibility = "hidden"
}



Здорово конечно передавать класс и в функции обрабатывать его как id:
<div class id="link1">Детский садик на 80 мест</div>
</div>
<p>
<map id="genPlan" name="genPlan">
<area shape="poly" coords="195,2,9,4,56,114,90,235,92,238,133,239,133 ,152,137,157,141,154,145,155,146,154,153,155,173,1 39,176,131,176,127,177,113,178,118,182,118,187,119 ,195,116,197,117,197,4" href="#" onmouseover="showLayer('link1');" onmouseout="hideLayer('link1');">

Последний раз редактировалось dmitriymar, 15.06.2013 в 18:28.
Ответить с цитированием
  #8 (permalink)  
Старый 15.06.2013, 18:41
Интересующийся
Отправить личное сообщение для gurg0n Посмотреть профиль Найти все сообщения от gurg0n
 
Регистрация: 15.06.2013
Сообщений: 12

Это вы верно заметили. Но проблема осталась
Ответить с цитированием
  #9 (permalink)  
Старый 15.06.2013, 19:33
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от gurg0n
Это вы верно заметили. Но проблема осталась
кеш сбросьте
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Парсинг рамблер кассы Sub-zerro Общие вопросы Javascript 10 19.02.2018 23:13
Ошибка Uncaught TypeError: Cannot read property 'elements' of undefined Allality Общие вопросы Javascript 14 29.07.2012 18:35
Cannot read property 'items' of undefined khusamov ExtJS 0 11.05.2012 04:33
Растянуть элемент по содержимому AnToxa Элементы интерфейса 11 09.04.2012 22:13
JavaScript error: Cannot read property 'style' of null mainne Javascript под браузер 4 03.03.2012 18:15