![]() |
Оnmousedown и различные значения переменной.
Добрый день.
Есть небольшая проблема. В таблице для ячейки <td> прописано: <td background="b1.gif" onmousedown="mClick(this); return true;" onmouseout="mOut(this); return true;" onmouseover="mOver(this); return true;"> соответственно есть 3 функции mClick, mOut и mOver Хочеться сделать так, чтобы при нажатии на ячейку один раз - изменялся бы background на b2.gif , для этого в mClick пишем cell.background='b2.gif'; А теперь сам вопрос: Нужно, чтобы после повторного нажатия на эту же ячейку background снова вернулся бы на b1.gif. Я в javascript не силен, но мне видеться, что это возможно сделать либо в одной функции mClick каким то образом проверяя количество нажатий или проверяя флажок было до этого изменение на b2.gif или нет. Буду благодарен за любые советы по реализации. |
триггер
Могу ошибаться, но кажется по-научному :) это называется триггер.
var bgTrigger = 1; function mClick() { if(bgTrigger == 1) { cell.background='b2.gif'; bgTrigger = 2; } else { cell.background='b1.gif'; bgTrigger = 1; } } |
А можно короче (и с шиком :)):
function mClick(cell){ if(cell.background=="b1.gif"){ cell.background="b2.gif"} else{cell.background="b1.gif"} } |
Цитата:
|
А разве что-то не так?
|
Цитата:
|
Всем спасибо, оба варианта работают в IE, а вот в Mozilla Firefox на хочет меняться цвет background'а.
Какие будут мысли на сей счет? Как и её победить? |
1.Может это неправильно, но скажу так: меня задолбало разнообразие браузеров, ориентируюсь только на ИЕ (Win и Mac) и чуть-чуть на НН. Достали они уже все!!!
2.Не тестирую, так на вскидку: a)можетМозилле так больше понравится: cell.background="b1.gif" b)cell -- это ID? Тогда, может, event.srcElement.id попробовать? |
По-моему cell - переменная функции.
Можно попробовать через style (cell.style.background='bg.gif';) |
Цитата:
|
| Часовой пояс GMT +4, время: 01:35. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.