2011-08-10 1 views
2

jscrollpane div의 상단 또는 하단에 도달하면 브라우저 창이 스크롤되지 않도록하려고합니다. Tinyscrollbar 않습니다.jQuery, jscrollpane - div가 끝날 때 스크롤하는 것을 방지합니다.

var jsp = $(".scroll-pane").data('jsp'); // getting hold of the api 
jsp = $("#" + e.attr('id') + " > .feed-items").bind(
    'jsp-scroll-y', function(e, scrollPositionY, isAtTop, isAtBottom) { 
     // reached bottom 
     if (jsp.getPercentScrolledY() == 1) { 
     } else { 
      // ... 
     } 
    }) 

내가 e.preventDefault()를 사용하여 시도하고 작동하지 않았다 :

jscrollpane와 나는 그런 일에 스크롤 사업부를 감지 할 수 있습니다. 나는 진실을 포기하는 것에서부터 전파를 멈추는 것에 이르기까지 모든 것을 마법 상자에서 시험했다. 아무것도 작동하지 않습니다. 이이 좋은 해킹했다 :

$("body").css("overflow", "hidden") 
     .css('margin-left', "-" + __scrollbarWidth + "px"); 

는하지만 완벽 하진 나는이를 사용하지 않습니다.

아이디어가 있으십니까?

+0

을'false를 반환; 내가 아는 한 일해야한다. – sasidhar

+0

작동하지 않습니다. =/ –

+0

나는 또한 알고 싶습니다 –

답변

2
  • 당신은 몇 가지 자바 스크립트를 추가 사업부
  • 에 예를 들어 클래스 테스트에 대한 추가해야합니다

    $(document).on('mousewheel', '.test', 
         function (e) { 
         var delta = e.originalEvent.wheelDelta; 
         this.scrollTop += (delta < 0 ? 1 : -1) * 30; 
         e.preventDefault(); 
    }); 
    

수직 스크롤합니다. 당신이 원하는 경우 수평 스크롤을 위해 같은 날 모르겠어요

+0

그것은 아름답게 작동했다. 고마워! –

2

을 알려 이유는 작동하지만 당신은 마우스 스크롤 휠 스크롤의 정지 상단이나 하단에 도달하면)

/* Stop scrolling */ 
$('#cnct_form').bind('jsp-scroll-y',function(event, isScrollable) { 
     console.log('asd'); 
}).jScrollPane(); 

$('#cnct_form').mousewheel(function(event) { 
    event.preventDefault(); 
});