jQuery 대기열 메시지
-
06-07-2019 - |
문제
웹 사이트에 메시지를 표시 해야하는 짧은 기능이 있습니다.
function showHint() {
$('#notify').html('message text').show('slide', {direction: 'right'}, 500);
}
그리고 메시지를 숨기는 또 다른 기능이 있습니다.
function hideHint() {
$('#notify').hide('slide', {direction: 'right'}, 500);
}
문제는이 기능을 한 번 이상 호출하면 모든 메시지를 동시에 보여주고 모든 것이 깨지는 것입니다. 기능을 두 번 호출 한 다음 애니메이션을 대기하고 한 메시지를 표시해야합니다. 함수는 동시에 한 번 이상 호출되어야하지만 차례로 표시해야합니다. FIRS가 숨어있을 때 다음 메시지가 표시되어야합니다.
문제를 어떻게 해결할 수 있습니까? 좋은 것!
해결책
다음은 과거에 사용한 미니 사용자 정의 플러그인이 있습니다.
// Good for serializing animations
$.fn.chain = function(fn) {
var elements = this;
var i = 0;
function nextAction() {
if (elements.eq(i)) fn.apply(elements.eq(i), [nextAction]);
i++;
}
nextAction();
};
당신은 그것을 그렇게 부를 수 있습니다 (다음은 사용중인 예입니다):
$(document).ready(function() {
$('li').chain(function(nextChain) { this.slideToggle("fast", nextChain); });
});
당신이 전달하는 함수 chain
한 주기로 다운 할 때 호출 해야하는 다른 기능을 전달합니다. 위의 예에서 우리는 단지 전달됩니다 nextChain
콜백으로 작동합니다 slideToggle
.
제휴하지 않습니다 StackOverflow