我正在尝试设置一个页面,如果鼠标在div上方,只有div滚动,但如果鼠标在页面上,页面会滚动。
以下是类似的答案: Scroll div instead of page使用jsfiddle @ http://jsfiddle.net/pimvdb/Ezvnp/4/
然而,这"锁定"按钮会在页面锁定时停止滚动。我希望页面可以与div同时滚动,但是这样点击div的底部/顶部并不会开始滚动页面(如果这有意义的话)。
知道如何做到这一点好吗?我目前使用与jsfddle中相同的代码。
$('body').bind('mousewheel', function(e) {
if(locked) {
var $div = $('div');
$div.scrollTop($div.scrollTop()
- e.originalEvent.wheelDelta);
return false;
}
});
谢谢。
答案 0 :(得分:1)
请参阅:http://jsfiddle.net/Ezvnp/104/
使用mouseenter
和mouseleave
事件检查div中的鼠标。它们可以执行与之前按钮相同的操作,切换锁定状态。
它们基本上是当鼠标进入和离开元素时触发的事件侦听器,您必须检查它们是否切换状态。
我不确定事件监听器是否是必要的,当我删除它仍然按照你想要的方式工作的所有javascript时,它可能只是一个浏览器的东西,但尝试评论所有的JavaScript,如果它工作我可以更新我对此部分的回答,以使其更有帮助。
答案 1 :(得分:0)
当然不需要任何JavaScript吗?浏览器默认以您希望的方式处理滚动div,请查看此jsfiddle。 have to add code to post jsfiddle link :P