我正在使用scrollTo jQuery插件,并想知道是否有可能通过Javascript临时禁用滚动窗口元素?我想要禁用滚动的原因是当你滚动时scrollTo是动画,它变得非常丑陋;)
当然,我可以做一个$("body").css("overflow", "hidden");然后在动画停止时将其恢复为自动,但如果滚动条仍然可见但不活动会更好.
我正试图在鼠标悬停在div上时禁用窗口鼠标滚动功能 - 这样只启用div滚动 - 当鼠标离开div时 - 再次应用滚动到窗口.div绝对定位.
当鼠标光标在div中时,我看到这个帖子使用jquery来禁用鼠标滚轮功能?但它似乎没有提供任何答案 - 因此我的问题.
我假设它会是这样的(如果只存在这些方法):
$('#container').hover(function() {
$(window).scroll().disable();
$(this).scroll().enable();
}, function() {
$(window).scroll().enable();
});
Run Code Online (Sandbox Code Playgroud) 我使用twitter bootstrap 3.我添加了固定顶部导航栏.我在导航栏上有下拉按钮.当用户点击按钮时,会打开一个下拉菜单.对于桌面用户来说没问题.但对于移动用户,当用户向下滚动下拉链接时,后面的页面也会滚动.
用户滚动下拉链接时是否可以禁用后台页面滚动?
小提琴:http://jsfiddle.net/mavent/2g5Uc/1/
当用户触摸下拉部分并触摸绿色箭头时,背景页面会像此屏幕截图中的红色箭头一样滚动:

<nav class="navbar navbar-inverse navbar-fixed-top visible-xs" role="navigation">
<div class="navbar-header" style="text-align:center;">
.......
</div>
Run Code Online (Sandbox Code Playgroud)
编辑:这不起作用.这将停止所有页面滚动.
$('#my_navbar_div').bind('touchmove', function(event)
{
event.preventDefault();
});
Run Code Online (Sandbox Code Playgroud)
这不起作用.没有改变任何行为:
$('#my_navbar_div').hover(function() {
$(document).bind('touchstart touchmove',function(){
$("body").css("overflow","hidden");
});
}, function() {
$(document).unbind('touchstart touchmove');
});
Run Code Online (Sandbox Code Playgroud)