我可以制作 jscrollpne,即使子滚动已到达底部,父窗格也不会滚动。现在,当子滚动到达父级的底部滚动时。我希望父级仅在鼠标超出子级滚动窗格时滚动。
问问题
2752 次
4 回答
5
您描述的行为是设计使然。这就是本机浏览器滚动条在具有溢出的元素上的行为方式:auto。我不建议更改它。但是,如果您希望 Borgenk 的答案是正确的,您可以使用以下代码:
$('.scroll-pane')
.jScrollPane()
.bind(
'mousewheel',
function(e)
{
e.preventDefault();
}
);
请参阅此处的示例(您可能需要缩小窗口,以便父级需要滚动):http: //jsfiddle.net/VYcDZ/51/
于 2011-03-18T09:29:33.283 回答
4
$('.selector').mousewheel(function(event) {
event.preventDefault();
});
于 2011-03-17T23:38:11.427 回答
1
今晚遇到这个问题...看到没有人有答案所以我写了它
var blockScrollTarget;
$('.jscroll').mousewheel(blockScroll);
......
function blockScroll(e) {
blockScrollTarget = blockScrollTarget || $(e.currentTarget);
var d = blockScrollTarget.data('jsp');
if(d.getPercentScrolledY() == 1 || d.getPercentScrolledY() == 0) {
return true;
}
if(d.getIsScrollableV()) {
e.preventDefault();
}
}
于 2011-12-24T03:57:26.067 回答
1
上面的答案对我不起作用。如果您对编辑插件源代码感到满意,您可以将相关的内部方法公开给公共 api:
// Public API
$.extend(
jsp,
{
...
initMousewheel : function(){
initMousewheel();
},
removeMousewheel : function(){
removeMousewheel();
}
}
);
现在您可以有条件且实用地启用/禁用任何 jscrollpane 的滚动:
api = $('#full-page-container').data('jsp');
api.removeMousewheel(); // disable
api.initMousewheel(); // enable
于 2013-06-03T02:39:33.790 回答