Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.08.2009, 18:17
Новичок на форуме
Отправить личное сообщение для Sed0Y Посмотреть профиль Найти все сообщения от Sed0Y
 
Регистрация: 10.08.2009
Сообщений: 7

Как совместить работу onmouseover, onmouseout и onclick
Помогите

Вот уже дня 3 ищу в инете и не могу найти решение моей проблемы...

к примеру:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"><html><head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1251">
<style type="text/css">	td{background-color: blue;} </style>
<script type="text/javascript"><!--
	function over_(oo){
		var o = document.getElementById(oo);
			o.style.background = 'green';	
	}	
	function out_(oo){
		var o = document.getElementById(oo);
			o.style.background = 'blue';	
	}	
//-->
</script>
</head>
<body>
<table border="0" cellpadding="0" cellspacing="0" width="50%" align="center">
	<tr >
		<td width="25" align="center" id="text1" onmouseover="over_('text1')" onmouseout="out_('text1')">Текст №1</td>
		<td width="25"  align="center" id="text2" onmouseover="over_('text2')" onmouseout="out_('text2')">Текст №2</td>	
		<td width="25"  align="center" id="text3" onmouseover="over_('text3')" onmouseout="out_('text3')">Текст №3</td>
		<td width="25"  align="center" id="text4" onmouseover="over_('text4')" onmouseout="out_('text4')">Текст №4</td>
		<td width="25"  align="center" id="text5" onmouseover="over_('text5')" onmouseout="out_('text5')">Текст №5</td>
	</tr></table>
</body>
</html>


ВОПРОС: Как сделать так, что бы остался принцип работы onmouseover и onmouseout при добавлении еще на OnClick закрашилась ячейка к примеру в желтый цвет?
Ответить с цитированием
  #2 (permalink)  
Старый 11.08.2009, 09:21
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 03.04.2008
Сообщений: 6,234

чтоб на совсем закрашивалась?
тогда просто удаляете обработчики событий mouseover и mouseout, и выставляете цвет ячейке
если надо чтобы закрашивалось на mouseout желтым, а на mouseover как и ранее зеленым, то перенезначьте соответсвующий обработчик
Ответить с цитированием
  #3 (permalink)  
Старый 11.08.2009, 09:46
zzz zzz вне форума
Аспирант
Отправить личное сообщение для zzz Посмотреть профиль Найти все сообщения от zzz
 
Регистрация: 06.08.2009
Сообщений: 91

Нет он не это имел ввиду чтобы когда нажимаешь цвет ячейки был жёлтый а если не нажимаешь то зелёный или синий(out или over) как сделать хз не пробовал, но догадываюсь в чём проблема при нажати становится жёлтым но онМаусОвер снова делает зелёным
Ответить с цитированием
  #4 (permalink)  
Старый 11.08.2009, 13:04
Новичок на форуме
Отправить личное сообщение для Sed0Y Посмотреть профиль Найти все сообщения от Sed0Y
 
Регистрация: 10.08.2009
Сообщений: 7

2zzz - Да, именно так, в этом и есть моя проблема, не могу ее решить
Ответить с цитированием
  #5 (permalink)  
Старый 11.08.2009, 13:16
zzz zzz вне форума
Аспирант
Отправить личное сообщение для zzz Посмотреть профиль Найти все сообщения от zzz
 
Регистрация: 06.08.2009
Сообщений: 91

Может написать чтобы ОнМаусОвер(Аут) работали только если фоновый цвет не жёлтый?
Ответить с цитированием
  #6 (permalink)  
Старый 11.08.2009, 13:21
Новичок на форуме
Отправить личное сообщение для Sed0Y Посмотреть профиль Найти все сообщения от Sed0Y
 
Регистрация: 10.08.2009
Сообщений: 7

ух ты - а идея ща буду пробовать
Ответить с цитированием
  #7 (permalink)  
Старый 11.08.2009, 13:48
Новичок на форуме
Отправить личное сообщение для Sed0Y Посмотреть профиль Найти все сообщения от Sed0Y
 
Регистрация: 10.08.2009
Сообщений: 7

вот мое решение - но оно работает только в ИЕ, в ФФ и ФЕ не работает, почему же?


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"><html><head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1251">
<style type="text/css"> td{ background-color: blue; } </style>
<script type="text/javascript"><!--
    function over_(oo){
        var o = document.getElementById(oo);
		if (o.style.background != 'red')
            o.style.background = 'green';    
    }    
    function out_(oo){
        var o = document.getElementById(oo);
		if (o.style.background != 'red')
	    	o.style.background = 'blue';    
    }    
    function click_(oo){
	
		var arrCells = document.getElementsByTagName('td');
		for (idx=0; idx < arrCells.length; idx++) 
		{
		  strValue = arrCells[idx].innerHTML;
		  arrCells[idx].style.background = 'blue';
		}	
        var o = document.getElementById(oo);
            o.style.background = 'red';   
    } 		
//-->
</script>
</head>
<body>
<table border="0" cellpadding="0" cellspacing="0" width="50%" align="center">
    <tr >
        <td width="25" align="center" id="text1" onmouseover="over_('text1')" onmouseout="out_('text1')" onclick="click_('text1')">Текст №1</td>
        <td width="25"  align="center" id="text2" onmouseover="over_('text2')" onmouseout="out_('text2')" onclick="click_('text2')">Текст №2</td>    
        <td width="25"  align="center" id="text3" onmouseover="over_('text3')" onmouseout="out_('text3')" onclick="click_('text3')">Текст №3</td>
        <td width="25"  align="center" id="text4" onmouseover="over_('text4')" onmouseout="out_('text4')" onclick="click_('text4')">Текст №4</td>
        <td width="25"  align="center" id="text5" onmouseover="over_('text5')" onmouseout="out_('text5')" onclick="click_('text5')">Текст №5</td>
    </tr></table>
</body>
</html>

Последний раз редактировалось Sed0Y, 11.08.2009 в 13:57.
Ответить с цитированием
  #8 (permalink)  
Старый 11.08.2009, 14:10
zzz zzz вне форума
Аспирант
Отправить личное сообщение для zzz Посмотреть профиль Найти все сообщения от zzz
 
Регистрация: 06.08.2009
Сообщений: 91

Во-первых ФЕ эт что за браузер)))

Последний раз редактировалось zzz, 11.08.2009 в 14:13.
Ответить с цитированием
  #9 (permalink)  
Старый 11.08.2009, 14:40
Новичок на форуме
Отправить личное сообщение для Sed0Y Посмотреть профиль Найти все сообщения от Sed0Y
 
Регистрация: 10.08.2009
Сообщений: 7

Простите, это какая-то дурная опечатка, не знаю о чем я думал )
IE работает а в FF, Opera - нет
Ответить с цитированием
  #10 (permalink)  
Старый 11.08.2009, 14:42
zzz zzz вне форума
Аспирант
Отправить личное сообщение для zzz Посмотреть профиль Найти все сообщения от zzz
 
Регистрация: 06.08.2009
Сообщений: 91

хмм думаю ты задействовал какой-то элемент(функцию) которая работает только в ИЕ
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как узнать, что содержит onClick? PHPNoob Events/DOM/Window 3 17.07.2015 12:20
Как в IE динамически установить значение события onClick? Гость Элементы интерфейса 6 16.01.2011 22:46
Подскажите как сделать (события onmouseover и onclick) House M.D. Я не знаю javascript 2 04.06.2009 08:50
Не может сработать onclick из-за приоритета onmouseover и onmouseout Rodion Events/DOM/Window 7 28.05.2009 21:58
Как узнать, завершила ли свою работу рекурсивная функция Ajax Общие вопросы Javascript 4 13.05.2009 13:50