Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   mouseout к дочернему элементу (https://javascript.ru/forum/events/36103-mouseout-k-dochernemu-ehlementu.html)

ntro123 04.03.2013 14:03

да вроде верно все пашет, а через js как это реализовать?

cyber 04.03.2013 14:11

ntro123, нужно пользоваться поиском по форуму, уже раз 4й отвечаю на подобную тему, на js это делается так
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.call(this,e);
	 
	 }	

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

danik.js 04.03.2013 14:35

Вот на jQuery, раз уж подключена к странице:
<style>
    div{
        padding: 10px; border: 1px solid red;
    }
    #id2{
        display: none;
    }
</style>
<div id="id1">#id1</div>
<div id="id2">#id2
    <div id="id3">#id3</div>
</div>
<script src="//code.jquery.com/jquery-latest.js"></script>
<script>
(function($){
    $('#id1').mouseenter(function(e) {
        $('#id2').fadeIn();
    });
    $('#id2').mouseleave(function(e) {
        $(this).fadeOut();
    });
})(jQuery)
</script>

ntro123 04.03.2013 14:37

Все спасибо!

danik.js 04.03.2013 14:41

Упростил код немного. Перепутал события.


Часовой пояс GMT +3, время: 03:12.