2014-09-21 9 views
0

오버레이 :JQuery와 mousenter,하는 MouseLeave 및

내가 기사를 mousentering에 오버레이를 추가하고 싶지만 내가 싶습니다 이 오버레이를 마우스로 이동하여이 오버레이를 제거하고 마우스로 기사를 다시 입력하지 않으면 다시 추가되지 않도록하십시오.

지금 문제는 오버레이가 사라지면 마우스가 기사 위에 갑자기 나타나 매우 즉각적으로 오버레이가 다시 나타납니다. 결과 : 지옥처럼 깜박입니다.

이 동작을 어떻게 막을 수 있습니까?

내가 더 성공 (그 두 반대 기능) 호버으로 시도

$('.article').mouseenter(function(){ 

    var xx=$(window).width(); 

    if (!$('boxOverlay').length) { 
     $('body').append('<div class="boxOverlay"></div>'); 
     $('.boxOverlay').css({ 
      'height': $(window).height(), 
      'display': 'block', 
      'position': 'fixed', 
      'z-index': '99', 
      'width': '1050px', 
      'margin-left': (xx-1050)/2, 
     }); 
    } 

    $('.boxOverlay').mouseleave(function(){ 
     $('.boxOverlay').remove() 
    }) 
}); 

주셔서 감사합니다.

+0

네, 그냥 오타입니다. 고마워요. 그 코드는 가지고 있지 않습니다. 무엇을 해야할지 모르겠다. – Baylock

답변

0
$('.article').mouseleave(function(){ 
     $('.boxOverlay').remove() 
}); 

이제는 작동 될 것입니다.

+0

그럼 그렇지 않습니다. 내가 말했듯이, mouseleave가 트리거되면 오버레이가 제거되고 마우스가 다시 기사에 올라서 ... 마우스 입력 이벤트를 트리거하고 즉시 오버레이를 엽니 다. 루프가됩니다. – Baylock