2026, 새로운 도약을 시작합니다.

휠스크롤시 좌우이동 가능할가요? 채택완료

6년 전 조회 6,635

div 영역안에서 휠 스크로 아래로하면 div 영역안x축이 오른쪽으로 이동하고

div 영역안에서 휠 스크로 위로하면 div 영역안x축이 왼쪽으로 이동하고

하게 하는 방법이 있을까요...

1954537692_1578033677.4062.png

답변 1개

채택된 답변
+20 포인트

$.fn.hasScrollBar = function() {
    return (this.prop("scrollWidth") == 0 && this.prop("clientWidth") == 0)
            || (this.prop("scrollWidth") > this.prop("clientWidth"));
}; // 좌우 스크롤이 있는지 없는지 여부 검사
function wheel(name){
$(name).on('mousewheel',function(e){
    var hasScroll = $(this).hasScrollBar();
    if(!hasScroll){ //스크롤이 없으면 그냥 일반 스크롤
    }else{ //있으면 아래 스크롤 받는값을 없애고 좌우스크롤
        e.preventDefault(); 
        var wheelDelta = e.originalEvent.wheelDelta;
        if(wheelDelta > 0){
            $(this).scrollLeft(-wheelDelta + $(this).scrollLeft());
        }else{
            $(this).scrollLeft(-wheelDelta + $(this).scrollLeft());
        }
    }
});
}
$(function(){
    wheel('#scroll');
});
<div id="scroll">
</div>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

6년 전
정말감사합니다... 잘분석해서 사용하겟습니다.. 작동은잘되네요
6년 전
이걸로 휠을 올리거나 내리면 좌우 스크롤을 컨트롤할수잇게됫는데요..

스크롤이 0이되면 위로올라가고 맨끝에가게되면 아래로 내려갈수잇는 기능으로 바꾸고싶은데..

방법이잇을까요



#id를 만나면 휠이 좌우가되고 #id에 처음일때(left값이 0일때) 는 휠이벤트가 기본적인 위로

마지막(#id left값이 맨끝)일떄는 아래로 되는 일반적인 휠기능으로 바꾸고싶습니다!

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고