Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.10.2010, 23:33
Аспирант
Отправить личное сообщение для [MI_nor] Посмотреть профиль Найти все сообщения от [MI_nor]
 
Регистрация: 24.05.2010
Сообщений: 31

Не работает onclick в opera и ie
Здрасьте, имеется вот такой код...
function click(id){
    for (i=5;i<9;i++){
        if (i==id){
            document.getElementById('cat-'+id).style.display = 'block';
        } else {
                document.getElementById('cat-'+i).style.display = 'none';
            }
    }
}

function change(id,src){
        document.getElementById(id).src = src;
}


И к примеру обрабатываем...

<img src="" class="catimg" onmouseout="change(5,'5.jpg');" onmouseover="change(5,'5-on.jpg');" onclick="click('5');" id="5">

<div class="category_index" id="cat-5" style="display: none;">
   Hello! 5
</div>
<div class="category_index" id="cat-6" style="display: none;">
   Hello! 6
</div>
<div class="category_index" id="cat-7" style="display: none;">
   Hello! 7
</div>
<div class="category_index" id="cat-8" style="display: none;">
   Hello! 8
</div>

В фф код работает прекрасно, в ие и опере не срабатывает onclick, почему?
Ответить с цитированием
  #2 (permalink)  
Старый 16.10.2010, 00:36
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

Потому что не нужно называть функции "click".
А еще, id не должно начинаться с цифры или быть ею.
Ответить с цитированием
  #3 (permalink)  
Старый 16.10.2010, 00:47
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

И еще, цикл - не самое элегантное решение. Можно же, например, сделать переменную, в которой хранится предыдущее значение. И то симпатишнее:
<div onclick="clicking(5);">Show "Hello"</div>
<div onclick="clicking(6);">Show "Bye"</div>

<div id="cat-5" style="display: none;">
   Hello!
</div>
<div id="cat-6" style="display: none;">
   Bye!
</div>
<script>
function clicking(id){
  if (clicking.lastValue) document.getElementById('cat-'+clicking.lastValue).style.display = 'none';
  document.getElementById('cat-'+id).style.display = 'block';
  clicking.lastValue = id;
};
clicking.lastValue = null;
</script>
Ответить с цитированием
  #4 (permalink)  
Старый 16.10.2010, 00:52
Аспирант
Отправить личное сообщение для [MI_nor] Посмотреть профиль Найти все сообщения от [MI_nor]
 
Регистрация: 24.05.2010
Сообщений: 31

немного исправил...
function clicking(id){
    for (i=5;i<9;i++){
        if ('c-'+i==id){
            document.getElementById('cat-'+i).style.display = 'block';
        } else {
                document.getElementById('cat-'+i).style.display = 'none';
            }
    }
}

<img alt="Напольные вазы" src="" class="catimg" onmouseout="change('c-5','/5.jpg');" onmouseover="change('c-5','/5-on.jpg');" onclick="clicking('c-5');" id="c-5">

Результат тот-же.
З.Ы по вашему варианту тоже самое, но спасибо, учту =)
З.Ы.Ы прошу прощения, на винде заработало на лине у меня почему-то нет =)

Последний раз редактировалось [MI_nor], 16.10.2010 в 02:16.
Ответить с цитированием
  #5 (permalink)  
Старый 24.01.2012, 23:53
Новичок на форуме
Отправить личное сообщение для НатальяВ Посмотреть профиль Найти все сообщения от НатальяВ
 
Регистрация: 24.01.2012
Сообщений: 1

почти та же проблема
в IE не работает вместе onClick и onmouseover на странице
http://litka-2000.narod.ru//tai/tai.html
Подскажите, пожалуйста, как исправить.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
onclick не работает в Mozilla albushi Firefox/Mozilla 1 05.11.2009 12:11
Почему скрипт работает в IE6 и не работает в opera и IE8? msufx Javascript под браузер 6 18.09.2009 18:44
в IE работает в Opera и FF не работает Yadooumne! Общие вопросы Javascript 14 10.03.2009 23:23
Работает в IE, не работает в Opera SunYang Общие вопросы Javascript 19 27.02.2009 23:43
Не работает onClick добавление тега <s> AvaGet Общие вопросы Javascript 13 09.12.2008 18:41