0
나는 mouseleave 애니메이션이 뒤 따르는 마우스 오버 애니메이션이 있습니다. 불행히도 mouseleave 이벤트가 트리거 될 때까지 첫 번째 애니메이션이 완료되지 않은 경우 두 번째 애니메이션이 실행되지 않습니다.첫 번째 애니메이션이 완료되기 전에 두 번째 애니메이션 실행
.wrapper {
background-color:red;
padding:10px;
position:relative;
width:100px;
}
.top {
background-color:blue;
height:100px;
position:relative;
width:100px;
}
.bottom {
background-color:green;
cursor:pointer;
height:40px;
width:100px;
}
.popup {
background-color:yellow;
bottom:-10px;
display:none;
left:19px;
opacity:0;
padding:10px;
position:absolute;
}
JQuery와에게
HTML
<div class="wrapper">
<div class="top">
<div class="popup">
popup
</div>
</div>
<div class="bottom"></div>
</div>
CSS 아래에 내 코드를 참조
나는 JSFiddle 페이지 내 코드 포함했다var popupVisible = false;
$('div.bottom').mouseover(function() {
if (popupVisible === false) {
$(this).parent().children('.top').children('.popup').css({'display':'block'}).animate({
opacity:1,
bottom:+10
}, 500, function() {
popupVisible = true;
});
}
});
$('.wrapper').mouseleave(function() {
if (popupVisible === true) {
$(this).children('.top').children('.popup').animate({
opacity:0,
bottom:-10
}, 300, function() {
$(this).css({'display':'none'});
popupVisible = false;
});
}
});
-https://jsfiddle.net/n0uxaw8c/1/
를 내가 mouseleave 이벤트가 트리거 될 때 첫 번째 애니메이션을 중지 한 다음 두 번째 애니메이션을 실행해야합니다. 어떤 도움 :)이 있지만
불행히도 나는 마우스가 .bottom의 사업부 가리킬 때 트리거 팝업을 필요로하는이 CSS와 함께 작동 할 수 있다고 생각하지 않습니다, 답변 주셔서 감사합니다, 하지만 마우스가 부모 div (.wrapper)의 영역을 벗어날 때 사라지게해야합니다. –