나는 두 개의 원소 인 <ul>
과 <div>
을 가지고있다.mouseleave 2 개 요소 표시/숨기기 1 개 요소?
div 위로 마우스를 가져 가면 ul이 나타나기를 원하고 div를 mouseleave 할 때 마우스가 ul보다 큰지 확인하고 싶지 않은 경우 ul을 다시 숨기려고합니다.
이것은 크롬과 사파리에서 작동하지만 Firefox에서는 작동하지 않는 사람이이 버그의 원인을 알고 있습니까?
$('.footer')
.mouseenter(function() {
$('ul#date').fadeIn();
})
.mouseleave(function(){
$('ul#date').hover(
function() {
$('ul#date').mouseleave(function() {
$('.footer').hover(
function() {
return;
},
function() {
$('ul#date').fadeOut();
}
);
});
},
function() {
$('ul#date').fadeOut();
}
);
});
편집 HTML 마크 업
<div id="main-wrapper">
<div class="clearfix" id="main">
<div class="column" id="content">
<div class="section">
<h1 id="page-title" class="title">Titletest</h1>
<div class="region region-content">
<div class="block" id="block-system-main">
<div class="content">
<div typeof="sioc:Item foaf:Document" class="node" id="node-13">
<ul id="date" style="display: none;">
</ul>
</div><!-- /.node -->
</div>
</div><!-- /.block -->
</div><!-- /.region -->
</div>
</div><!-- /.section, /#content -->
</div>
</div>
<div class="footer"></div>
솔루션 내 원하는 효과에 와서 crowicked하는
좋아, 덕분에,이 관심이있는 사람들을위한 코드입니다.
$('.footer').hover(
function()
{
$('ul#date').stop();
if ($('ul#date:hidden'))
{
$('ul#date').fadeIn();
}
}
);
$('ul#date').mouseleave(function(){ $('ul#date').fadeOut(); });
HTML 구조를 게시 할 수 있습니까? 이벤트 핸들러에는 많은 이벤트 핸들러가 할당되어 있으며, 실제로는 피해야합니다. –
나는 로리에 동의한다. 그 초기의 비트 - – isNaN1247
은 "main-wrapper"와 "footer"(마진/패딩을 제외하고는) 사이에 아무것도 없다. 내가 준 대답을 확인해. – crowicked