답변 1개
$.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개
스크롤이 0이되면 위로올라가고 맨끝에가게되면 아래로 내려갈수잇는 기능으로 바꾸고싶은데..
방법이잇을까요
#id를 만나면 휠이 좌우가되고 #id에 처음일때(left값이 0일때) 는 휠이벤트가 기본적인 위로
마지막(#id left값이 맨끝)일떄는 아래로 되는 일반적인 휠기능으로 바꾸고싶습니다!
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인