Не меняется цвет в SPAN под FF
Задача:
1. Элемент меню обёрнут в тег SPAN и имеет фон по дефолту #f3f3ff; 2. При клике на элементе меню: меню раскрывается; меняется его фон на #ffcccc; 3. При повторном клике меню: закрывается; фон меняется назад на #f3f3ff; Реализация: <span id="div_style" onClick="document.getElementById('block_elem').style.display = showhide(document.getElementById('block_elem').style.display); document.getElementById('div_style').style.background = changeSpan(document.getElementById('div_style').style.background)"> </span> function showhide(obj){ if(obj == 'none') return 'inline'; else return 'none'; } function changeSpan(obj){ if(obj == '#ffcccc') return '#f3f3ff'; else return '#ffcccc'; } Вопрос: В IE и Opera всё замечательно работает. В FF 3.6.6 цвет фона меняется 1 раз и остаётся таким. Что он, собака, хочет? |
Так короче:
<span id="div_style" onClick="document.getElementById('block_elem').style.display = showhide(document.getElementById('block_elem').style.display); this.style.background = changeSpan(this.style.background)"> </span> Что за block_elem? А почему не backgroundColor? |
Den1xxx,
А ты смотрел что возвращает document.getElementById('div_style').style.backgro und. Сделай алерт function changeSpan(obj){ alert(obj); if(obj == '#ffcccc') return '#f3f3ff'; else return '#ffcccc'; } |
может попробовать backgroundColor?
а зачем писать document.getElementById('div_style'). если можно просто this.? upd:что-то я торможу, пока писал уже столько ответов) |
Я не понял ваш ответ. Совсем.
Вот: <span style="background-color: #ffcccc" onclick="this.style.backgroundColor == 'rgb(255, 204, 204)' || this.style.backgroundColor == '#ffcccc' ? this.style.backgroundColor = '#f3f3ff' : this.style.backgroundColor = '#ffcccc'">Я цветоменяло</span> И кстати в следующий раз пользуйтесь сначала поиском. На данный вопрос уже в этом форуме ответили не один десяток раз. |
Цитата:
Цитата:
<span id="div_style" onClick="document.getElementById('block_elem').style.display = showhide(document.getElementById('block_elem').style.display); this.style.backgroundColor = changeSpan(this.style.backgroundColor)"> Алерт тоже вставил, он показывает что цвет не меняется. 1 клик - ничего нет (стиль берётся из header - style) 2 клик - rgb(255, 204, 204) 3 и последующие - rgb(255, 204, 204) Сабж здесь http://fromgomel.com/html_editor/index.html |
Den1xxx,
мда, смешно |
Цитата:
|
Den1xxx,
нет она просто хранит информацию о цвете именно в rgb. |
Skipp,
Спасибо, всё работает, но в функцию вставить не получилось - как ни старался. |
Часовой пояс GMT +3, время: 11:24. |