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

вот функция срабатует только когда курсор ушел с элемента а не ушел на потомка
function hover (options) {

 options.elem.onmouseover = ElemMouseAction;	 
 options.elem.onmouseout = ElemMouseAction;
 	
 function ElemMouseAction (evt) {
  var related, Call;
  var e = evt || event;	 
 
	if(e.type == 'mouseover'){  
	  Call = options.over; 
	  related = e.relatedTarget || e.fromElement;
	  
	} else {
	  Call = options.out; 
	  related =  e.relatedTarget || e.toElement;
	  
		}
		
			
	while (related && related != this) {
		related = related.parentNode;
		} 
	  
	  if(related == this) return;
	 
	  Call();
	 
	 }	

	
	}
//пример вызова
hover({
 elem: document.getElementById('elem'),
 over:function () {//функция для mouseover
   .... 
   },
   out:function () {//функция для mouseout
   .... 
   },

})
Ответить с цитированием