1
왜 비활성화 기능이 작동하지 않습니까?왜 스크롤 애니메이션이 비활성화되어 있지 않습니까?
stop()
기능이 없으면 잘 작동하지만 애니메이션이 400에서 지연되고 stop()
으로 스크롤이 비활성화되지 않습니다.
휠을 빨리 스크롤하면 애니메이션이 멈추고 휠을 멈 추면 애니메이션이 시작됩니다. 여기
는 http://web.100mb.ro/tutti/$("#section-five").bind('mousewheel', function(event) {
if (event.originalEvent.wheelDelta <= 0) {
}
else {
disable_scroll();
$('html, body').stop().animate({
scrollTop: $("#section-four").offset().top
}, 400,'swing',function(){
enable_scroll();
});
}
});
var keys = [37, 38, 39, 40];
function preventDefault(e) {
e = e || window.eevnt;
if (e.preventDefault)
e.preventDefault();
e.returnValue = false;
}
function keydown(e) {
for (var i = keys.length; i--;) {
if (e.keyCode === keys[i]) {
preventDefault(e);
return;
}
}
}
function wheel(e) {
preventDefault(e);
}
function disable_scroll() {
if (window.addEventListener) {
window.addEventListener('DOMMouseScroll', wheel, false);
}
window.onmousewheel = document.onmousewheel = wheel;
document.onkeydown = keydown;
}
function enable_scroll() {
if (window.removeEventListener) {
window.removeEventListener('DOMMouseScroll', wheel, false);
}
window.onmousewheel = document.onmousewheel = document.onkeydown = null;
}
전역 변수'var mouseDisabled = false;'로 플래그를 추가하고,'enable_scroll' 함수 내에서'disable_scroll' 함수와'mouseDisabled = false;'안에'mouseDisabled = true;'를 추가하십시오. 그런 다음 다른 모든 작업을하기 전에 모든 '마우스 휠'의 플래그를 확인하십시오. – GramThanos
그것은 거짓에서 진실로 변화하고 있지만 아무것도 동일하지 않습니다 (나는 콘솔 로그에서 볼 수있는 페이지에서 변경되었습니다) –