Показать сообщение отдельно
  #6 (permalink)  
Старый 09.09.2012, 14:20
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

ошибка тут
document.getElementById('#bla')
по привычке написал с решеткой (обычно использую querySelectorAll).
пример:
<!DOCTYPE HTML>
<html>
  <head>
 <style>
   
   #bla {
     width:200px;
     height:200px;
     border:5px solid black;
   
   
   }
   
    </style>
  </head>
  <body>
    <div id='bla'>
   
    </div>
    <script>
function hover (opt) {
	
 opt.elem.onmouseover = ElemMouseAction;	 
 opt.elem.onmouseout = ElemMouseAction;
 	
 function ElemMouseAction (evt) {
  var related, Call;
  var e = evt || event;	 
 
	if(e.type == 'mouseover'){  
	  Call = opt.over; 
	  related = e.relatedTarget || e.fromElement;
	  
	} else {
	  Call = opt.out; 
	  related =  e.relatedTarget || e.toElement;
	  
		}
		
			
	while (related && related != this) {
		related = related.parentNode;
		} 
	  
	  if(related == this) return;
	 
	  Call();
	 
	 }	

	
	}
	
hover({
	elem:document.getElementById('bla'),
	over:function () {// срабатывает при mouseover
	alert('over');	
		},
	out:function (){// срабатывает при mouseout
		
      alert('out');
		}	
	
	});



    </script>

  </body>
</html>

Сообщение от kingrus Посмотреть сообщение
неужели нет выхода попроще?)
и так просто вариант.

Сообщение от kingrus Посмотреть сообщение
Сразу же на это идет ругня baga
Мб я не так, что делаю...
если можно коммент напишите на "function hover (opt)" и function ElemMouseAction (evt) без коммента тяжко разобрать
в нутрь если не знаешь тут лучше не лезть можно запутаться тут
if(e.type == 'mouseover'){  
	  Call = opt.over; 
	  related = e.relatedTarget || e.fromElement;
	  
	} else {
	  Call = opt.out; 
	  related =  e.relatedTarget || e.toElement;
	  
		}

просто передаете элемента , и функцию которая выполняется при over и out.
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
Ответить с цитированием