我有一个 DIV,overflow:scroll
当我滚动 div 并到达底部时,它开始滚动主页。
我希望它不滚动主页 - 只是 div。
这可能吗?
http://i.stack.imgur.com/Owuu0.png
图片显示了我不想发生的事情
我有一个 DIV,overflow:scroll
当我滚动 div 并到达底部时,它开始滚动主页。
我希望它不滚动主页 - 只是 div。
这可能吗?
http://i.stack.imgur.com/Owuu0.png
图片显示了我不想发生的事情
我为 jQuery 编写了这个小插件,并且正在使用它一段时间。它做你想做的事,但不是在 CSS 中。无论如何,也许这是一个解决方案:
(function($) {
$.fn.privateScroll = function() {
if ( this.length === 0 ) {
return this;
}
this.bind('DOMMouseScroll mousewheel', function(e) {
var delta = 0;
if (typeof e.originalEvent.wheelDeltaY !== 'undefined') { // chrome, safari, opera
delta = e.originalEvent.wheelDeltaY;
} else if (typeof e.originalEvent.wheelDelta !== 'undefined') { // ie
delta = e.originalEvent.wheelDelta;
} else if (typeof e.originalEvent.detail != 'undefined') { // ff
delta = e.originalEvent.detail * -20;
}
if ( delta !== 0 ) {
$(this).scrollTop($(this).scrollTop() - delta );
e.preventDefault();
return false;
}
});
return this;
};
})(jQuery);
像这样使用:
jQuery('SELECTOR').privateScroll();
更新:使用同事代码更新以适用于所有浏览器
检查以下站点以供参考:
http://manos.malihu.gr/tuts/custom-scrollbar-plugin/complete_examples.html
http://manos.malihu.gr/tuts/custom-scrollbar-plugin/nested_scrollbars_demo.html
尝试使用overflow: auto
而不是滚动,看看是否有效。
我还没有测试过这个,但我相信你可以使用这个 jquery 代码来解决这个问题。
$(document).ready(function() {
$('INNER DIV SELECTOR').hover(function() {
$('INNER DIV SELECTOR').scroll(function(e) {
e.stopPropagation();
});
});
});