如果我到达了jscrollpane div的顶部或底部,我试图阻止浏览器窗口滚动。 Tinyscrollbar就是这么做的。
使用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()
但它没有用。我在魔术盒中尝试了一切,从返回假到停止传播。什么都行不通。有这个不错的黑客:
$("body").css("overflow", "hidden")
.css('margin-left', "-" + __scrollbarWidth + "px");
但我不想使用它,因为它并不完美。
有什么想法吗?
答案 0 :(得分:2)
添加一些javascript:
$(document).on('mousewheel', '.test',
function (e) {
var delta = e.originalEvent.wheelDelta;
this.scrollTop += (delta < 0 ? 1 : -1) * 30;
e.preventDefault();
});
用于垂直滚动。如果你想对水平滚动做同样的事情,请告诉我
答案 1 :(得分:2)
我不知道它的工作原理,但是当你在鼠标滚轮上到达底部或顶部时它会停止滚动;)
/* Stop scrolling */
$('#cnct_form').bind('jsp-scroll-y',function(event, isScrollable) {
console.log('asd');
}).jScrollPane();
$('#cnct_form').mousewheel(function(event) {
event.preventDefault();
});