Не работает 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, почему? |
Потому что не нужно называть функции "click".
А еще, id не должно начинаться с цифры или быть ею. |
И еще, цикл - не самое элегантное решение. Можно же, например, сделать переменную, в которой хранится предыдущее значение. И то симпатишнее:
<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>
|
немного исправил...
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">
Результат тот-же. З.Ы по вашему варианту тоже самое, но спасибо, учту =) З.Ы.Ы прошу прощения, на винде заработало на лине у меня почему-то нет =) |
почти та же проблема
в IE не работает вместе onClick и onmouseover на странице
http://litka-2000.narod.ru//tai/tai.html Подскажите, пожалуйста, как исправить. |
| Часовой пояс GMT +3, время: 11:44. |