.animate() 및 .stop() jQuery 메서드에 대한 질문이 있습니다. 누군가가 설명 할 수 있기를 바랬습니다.jQuery .animate()가 일시 중지되었습니다.
나는 내 웹 사이트에서 부드러운 스크롤을했지만 아래로 스크롤하기 위해 단추를 클릭 할 때 문제가 발생했다. 다시 위 또는 아래로 스크롤 할 수있게되기 전에 일시 중지가 발생했다. 즉시 해결할 수 없었다. . .stop()을 .animate() 앞에 추가하면 문제가 완전히 수정되었습니다. 버튼을 클릭하여 아래로 스크롤 한 다음 아무런 일시 중지없이 바로 위 또는 아래로 스크롤 할 수 있으며, 왜 이렇게 해결되었는지는 분명하지 않습니다. 문제.
누군가이 사실을 설명해 줄 수 있습니까?
var windowWidth = $(window).width();
if(windowWidth > 800) {
$(function() {
$("a[href*='#'][href!='#']").click(function() {
$('.nav-dropdown').hide();
if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) {
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
if (target.length) {
$('html,body').stop().animate({
scrollTop: target.offset().top
}, 500);
return false;
}
}
});
});
}
var jump=function(e) {
if (e){
e.preventDefault();
var target = $(this).attr("href");
} else{
var target = location.hash;
}
$('html,body').stop().animate({
scrollTop: $(target).offset().top
}, 500, function(){
location.hash = target;
});
}
애니메이션은 jQuery로 큐에 대기하므로 실행중인 애니메이션은 다음 애니메이션을 시작하기 전에 완료해야합니다. 'stop()'이라고 말하면 기본적으로 자신이하는 일을 멈추고 새로운 애니메이션을 시작하라고 말하고 있습니다. 둘 다 시간과 장소가 있습니다. – Archer