Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   DHTML/JS/CSS (http://www.flasher.ru/forum/forumdisplay.php?f=24)
-   -   Оnmousedown и различные значения переменной. (http://www.flasher.ru/forum/showthread.php?t=57850)

Jil 06.05.2004 19:27

О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 или нет.
Буду благодарен за любые советы по реализации.

Илья К 07.05.2004 02:25

триггер
 
Могу ошибаться, но кажется по-научному :) это называется триггер.

var bgTrigger = 1;
function mClick()
{
if(bgTrigger == 1)
{
cell.background='b2.gif';
bgTrigger = 2;
}
else
{
cell.background='b1.gif';
bgTrigger = 1;
}
}

StimS 08.05.2004 18:54

А можно короче (и с шиком :)):

function mClick(cell){
if(cell.background=="b1.gif"){
cell.background="b2.gif"}
else{cell.background="b1.gif"}
}

Илья К 08.05.2004 19:25

Цитата:

Оригинал написал(а) StimS
А можно короче (и с шиком :)):

function mClick(cell){
if(cell.background=="b1.gif"){
cell.background="b2.gif"}
else{cell.background="b1.gif"}
}

Без комментариев... Молчу.:)

StimS 11.05.2004 19:19

А разве что-то не так?

Илья К 11.05.2004 20:59

Цитата:

Оригинал написал(а) StimS
А разве что-то не так?
Да нет же, все супер!:) Просто мне понравилась краткость этого варианта. Мой вариант по сравнению с этим -- что из серии "раком до Пекина". :D

Jil 12.05.2004 14:52

Всем спасибо, оба варианта работают в IE, а вот в Mozilla Firefox на хочет меняться цвет background'а.
Какие будут мысли на сей счет?
Как и её победить?

Илья К 12.05.2004 19:59

1.Может это неправильно, но скажу так: меня задолбало разнообразие браузеров, ориентируюсь только на ИЕ (Win и Mac) и чуть-чуть на НН. Достали они уже все!!!
2.Не тестирую, так на вскидку:
a)можетМозилле так больше понравится: cell.background="b1.gif"
b)cell -- это ID? Тогда, может, event.srcElement.id попробовать?

StimS 12.05.2004 20:40

По-моему cell - переменная функции.

Можно попробовать через style (cell.style.background='bg.gif';)

Илья К 13.05.2004 04:30

Цитата:

Оригинал написал(а) StimS
По-моему cell - переменная функции.
Да, точно, это параметр. И все же подозреваю, что он обозначает ID -- что-то типа <td onclick="mClick(IDэлемента)">.


Часовой пояс GMT +4, время: 01:35.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.