Не меняется цвет в 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, время: 16:10. |