Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: В IE работает а в Mozilla не работает
Форумы портала PHP.SU » Клиентская разработка » JavaScript & VBScript » В IE работает а в Mozilla не работает

Страниц (1): [1]
 

1. sco[F]fer - 26 Сентября, 2007 - 14:03:03 - перейти к сообщению
Есть простенький скриптик для открытия закрытия списка

<script LANGUAGE="JavaScript">
function JS(name) {
if(name.style.display=='none') {
name.style.display='block';
} else {
name.style.display='none'
}

}

Но вот в IE работает без проблем а в Mozilla на некоторых страницах работает а на некоторых нет
2. valenok - 26 Сентября, 2007 - 14:37:06 - перейти к сообщению
1. для оформления программного кода мы используем теги [php][/php]

2. в мозиллу встроена консоль ошибок по адресу
Меню -> Инструменты -> Консоль ошибок
Приводите из неё текст ошибки

3. где и как происходит вызов функции?

4. Мозилла рекомендует (требует) обращаться к элементам через
document.getElementById('id').
или onclick="javascript:do(this)"

5. Начальный атрибут style="display:какойто" вы устанавливали?

6. Разницу между страницами на которых работает и на которых не работает пытались найти?

7. http://phpfaq[dot]ru/debug
3. sco[F]fer - 26 Сентября, 2007 - 14:48:31 - перейти к сообщению
Предупреждение: Элемент доступен по идентификатору/имени в глобальной области видимости. Используйте вместо этого соответствующий стандарту W3C метод document.getElemenById().
Источник: javascript:JS(menu9);
Строка: 1

Это пишет в консоли\n\n(Добавление)
Вызов происходит как

<a href = "javascript:JS(menu3);">kzkz</a>\n\n(Добавление)
document.getElementById('id') что так к элементам надо обращать я нашёл но как тогда обращаться
типа

PHP:
скопировать код в буфер обмена
  1. var n = document.getElementById(name);
\n\n(Добавление)
Ещё в консоли пишет

Ошибка: menu9 is not defined
Источник: javascript:JS(menu9);
Строка: 1
4. valenok - 26 Сентября, 2007 - 15:07:55 - перейти к сообщению
Это значит что он не знает что такое menu3 / menu9
var n = document.getElementById(ELEMENT_ID);

PHP:
скопировать код в буфер обмена
  1.  
  2. <div id='menu1' onclick="javascript:hideshow(this.id)">
  3.  Жми тут !
  4.  <span id='menu1_inner'>
  5.   < br > Текст < br >
  6.  </span>
  7. </div>
  8.  
  9.  
  10.  
  11. < script LANGUAGE="JavaScript">
  12. function JS(name) {
  13.  
  14. // name = id элемента который вызвал функцию
  15. // если нужно скрыть его - то оставляем как есть
  16. // если нужно скрыть чтото другое то используем getElementById
  17.  
  18. // в нашем примере name = menu1
  19. // а нам надо скрыть menu1_inner
  20.  
  21. name = name + "_inner";
  22. name = document.getElementById(name);
  23.  
  24. if(name.style.display=='none')
  25.     name.style.display='block';
  26.     else name.style.display='none'
  27.  
  28.  
  29. }
  30.  
  31.  
5. sco[F]fer - 26 Сентября, 2007 - 15:12:38 - перейти к сообщению
Спасибо очень выручили
6. valenok - 26 Сентября, 2007 - 15:29:07 - перейти к сообщению
А мне вот интересно, опять просто тупо скопировали код
или чтото выучили..

Почему нe работает такой код:?

PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3.  <div id='menu1' onclick="javascript:hideshow('menu1')">
  4.   Жми тут !
  5.   <span id='menu1_inner'>
  6.    < br > Текст < br >
  7.   </span>
  8.  </div>
  9.  
  10.  
  11.  
  12.  < script LANGUAGE="JavaScript">
  13.  function hideshow(name) {
  14.    
  15.  if(name.style.display=='none')  
  16.      name.style.display='block';
  17.      else name.style.display='none'
  18.  
  19.  
  20.  }
  21.  
7. sco[F]fer - 26 Сентября, 2007 - 16:08:48 - перейти к сообщению
Так как обращение идёт неправильно к элементу который мы хотим показать или скрыть верней мы вообще не к нему обращаемся

(Добавление)
кстати насчёт правильно примера если у нас код
PHP:
скопировать код в буфер обмена
  1.  
  2. <div id='menu1' onclick="javascript:hideshow(this.id)">
  3.   Жми тут !
  4.   <span id='menu1_inner'>
  5.    < br > Текст < br >
  6.    <div id='menu2' onclick="javascript:hideshow(this.id)">
  7.    Жми ещё !
  8.    <span id='menu2_inner'>
  9.    < br > Текст2 < br >
  10.    </span>
  11.   </div>
  12.   </span>
  13.  </div>
  14.  


то если мы нажмем Жми ещё ! может закрыться всё вложение вплоть до Жми тут! есть скроется и Текст и Текст2 но если повторно нажать Жми тут! то откроется всё как должно быть
8. valenok - 26 Сентября, 2007 - 16:22:38 - перейти к сообщению
Это надо как то прокомментировать чтоли?
Похлопать может ?

Вопрос не понял ..
Если нажимаем "жми тут" - скрывается всё что внутри span id='menu1_inner'
Если нажимаем "жми ещё раз" то скрывается всё что внутри span id='menu2_inner'

Что не так?
9. sco[F]fer - 26 Сентября, 2007 - 16:28:23 - перейти к сообщению
Цитата:
Это надо как то прокомментировать чтоли?
Похлопать может ?


не понял Однако

Цитата:
Вопрос не понял ..
Если нажимаем "жми тут" - скрывается всё что внутри span id='menu1_inner'
Если нажимаем "жми ещё раз" то скрывается всё что внутри span id='menu2_inner'

Что не так?


Вот именно нажимаем "жми ещё раз" - скрывается вообще всё что внутри span id='menu1_inner' это опять же в Mozilla в IE всё ок

Ах да в консоле пишет следующие

Ошибка: name has no properties
Источник: http://www[dot]eurostyle67[dot]ru/defaul[dot][dot].php?rubrica=1000
Строка: 50
10. valenok - 26 Сентября, 2007 - 16:31:51 - перейти к сообщению
Ааааа...
Вы наверное не знаете что onclick это где угодно по элементу
Тоесть когда нажимаем на "жми ещё раз" мы нажимаем и на
div id:menu2
И НА
div id:menu1\n\n(Добавление)
Цитата:
Ах да в консоле пишет следующие

Ошибка: name has no properties
Источник: http://www[dot]eurostyle67[dot]ru/defaul[dot][dot].php?rubrica=1000
Строка: 50

Либо это ваш сайт либо пинаем их администрацию за загрязнение консоли ошибок.
Там кстати ещё есть кнопочка очистить консоль.
11. sco[F]fer - 26 Сентября, 2007 - 16:49:02 - перейти к сообщению
Да я заню что кнопочка есть для очистки. вот я и очищаю консоль нажимаю ну например "Жми тут" и в консоли появляется эта ошибка
12. sco[F]fer - 27 Сентября, 2007 - 15:09:12 - перейти к сообщению
Вообщем всё вроде разобрался

 

Powered by ExBB FM 1.0 RC1