jPanel在到达末尾时滚动正文



我正在为一个网站使用jQuery jPanelMenu插件。由于导航相对较长,我在面板上得到了一个滚动条。然而,当我到达所述面板的末尾时,我也开始滚动正文。有办法防止这种情况发生吗?

由于必须防止滚动父元素,因此必须使用事件stopPropagation()。

检查JSFiddle:-JSFidle

$(document).on('DOMMouseScroll mousewheel','#jPanelMenu-menu', function(ev) {
var $this = $(this),
    scrollTop = this.scrollTop,
    scrollHeight = this.scrollHeight,
    height = $this.height(),
    delta = (ev.type == 'DOMMouseScroll' ?
        ev.originalEvent.detail * -40 :
        ev.originalEvent.wheelDelta),
    up = delta > 0;
var prevent = function() {
    ev.stopPropagation();
    ev.preventDefault();
    ev.returnValue = false;
    return false;
}
if (!up && -delta > scrollHeight - height - scrollTop) {
    $this.scrollTop(scrollHeight);
    return prevent();
} else if (up && delta > scrollTop) {
    $this.scrollTop(0);
    return prevent();
}
});

相关内容

  • 没有找到相关文章

最新更新