나는 푸시 메뉴가있는 프로젝트를 작업 중입니다. 콘텐츠 div가 슬라이드되면 화면에 들어갈 때 메뉴 버튼에 약간의 애니메이션이 생깁니다. 오래 걸리거나 아무것도하지 않지만 사용자가 메뉴를 열거 나 연속적으로 열거 나 닫으면 목록에있는 항목이 사라지고 잘못된 순서로 다시 나타나기 시작합니다. 새로운 애니메이션 콜은 오래된 애니메이션을 취소하고 일반적으로 사물의 순서를 엉망으로 만들기 때문에 이것이라고 생각합니다.velocity.js를 사용할 때 애니메이션을 대기열에 넣을 수 있습니까?
이상적으로는 애니메이션이 항상 올바르게 작동하도록 (예 : 메뉴가 열리면 모든 이전 애니메이션을 지우고 시작 애니메이션 만 재생)하는 것이 좋습니다.
그러나 최소한 메뉴를 열 때 메뉴의 요소가 무작위로 사라지지 않도록 각 요소를 올바르게 큐에 넣을 수 있다면 만족할 것입니다. 정상적으로 배경 이미지를 가지고 있기 때문에
http://jsfiddle.net/9t10zr6m/1/
상위 사업부는 투명 : 여기
문제의 바이올린입니다. 또한 최상위 div 아래에서 무슨 일이 벌어지는지를 볼 수 있다면 메뉴 문제를 더 쉽게 볼 수 있다고 생각했기 때문입니다. 여기 는 관련 jQuery 코드입니다 :$(document).ready(function() {
$(".expandable-content").on('click', function(){
$(this).children(".internal-content").slideToggle();
});
$(".menu-button").on('click', function(){
var position = $(".blue-box").css("left");
if(position == "0px") {
$(".blue-box").velocity({left: "250px"}, 500);
$('.side-nav-link').finish();
$('.side-nav-link').velocity('transition.slideUpIn', { stagger: 50 });
} else {
$(".blue-box").velocity({left: "0px"}, 500);
$('.side-nav-link').finish();
$('.side-nav-link').velocity('transition.slideDownOut', { stagger: 50 });
}
});
});
및 관련 HTML : 당신은 어떻게 jQuery를 엔큐 애니메이션을 만들 수 있죠<div class="blue-box">
<h1>Julian Ptak</h1>
<h2>Kempis Coder. Simplicity. Purity.</h2>
<div class="menu-button"><img class="button-icon" src="img/menu-icon.png"><p class="button-text">Menu</p></div>
</div>
<div class="red-box">
<ul class="side-nav">
<li class="side-nav-link"><a href="">Home</a></li>
<li class="side-nav-link"><a href="">Work</a></li>
<li class="side-nav-link"><a href="">Hobbies</a></li>
<li class="side-nav-link"><a href="">Writings</a></li>
<li class="side-nav-link"><a href="">Code</a></li>
<li class="side-nav-link"><a href="">Contact</a></li>
</ul>
</div>
? 또는 오른쪽 클릭만으로 올바른 애니메이션을 재생하고 이전의 모든 애니메이션을 건너 뛰십시오.
나는 .finish() 및 .stop()을 시도했지만 둘 다 내 문제를 해결하지 못했습니다. 어떤 아이디어? velocity.js에서는 작동하지 않습니까?
'queue : false' 큰 도움! 꿈처럼 작동합니다. 저는 애니메이션을위한 별도의 기능을 가지고 있으며 동시에 이와 같은 애니메이션을 추가했습니다. –