在使用javascript/css的元素上方的鼠标上禁用(而不是隐藏)主滚动条?
所需行为:在元素的鼠标上方,我想禁用主浏览器窗口滚动,或者至少使用鼠标滚轮来禁用。我想在滚动条被禁用时保持其可见性 原因:页面大约是浏览器窗口高度的两倍。有一个带有滚动条的div。当鼠标在div上滚动并且点击列表的底部或顶部时,主窗口开始滚动。这是不必要的行为,因为主窗口滚动通常会移动屏幕上的divs内容,甚至将其完全滚动出屏幕,这非常烦人。我想能够鼠标滚动到div的底部,而不需要主窗口滚动,然后将div滚动到视图之外。我希望任何禁用的滚动条保持可见的原因是,如果它们被隐藏,页面的宽度会拉伸以适应间隙,从而导致内容跳转/移动,这既不美观,也会对鼠标移动造成问题在使用javascript/css的元素上方的鼠标上禁用(而不是隐藏)主滚动条?,javascript,css,Javascript,Css,所需行为:在元素的鼠标上方,我想禁用主浏览器窗口滚动,或者至少使用鼠标滚轮来禁用。我想在滚动条被禁用时保持其可见性 原因:页面大约是浏览器窗口高度的两倍。有一个带有滚动条的div。当鼠标在div上滚动并且点击列表的底部或顶部时,主窗口开始滚动。这是不必要的行为,因为主窗口滚动通常会移动屏幕上的divs内容,甚至将其完全滚动出屏幕,这非常烦人。我想能够鼠标滚动到div的底部,而不需要主窗口滚动,然后将div滚动到视图之外。我希望任何禁用的滚动条保持可见的原因是,如果它们被隐藏,页面的宽度会拉伸以适
使用javascript/css而不是jquery是否可以实现这一点?使用jquery,您可以让页面滚动到鼠标输入时的最后一个位置 另一个滚动区域:
var scrolltop = 0;
var handler = function(ev){$(window).scrollTop(scrolltop)};
$(element).bind("mouseover", function(ev){
scrolltop = $(window).scrollTop();
$(window).bind("scroll",handler);
});
$(element).bind("mouseout", function(ev){
$(window).unbind("scroll",handler);
});
其中元素是另一个滚动区域您正在描述默认浏览器行为。这是人们所期望的,可能不应该被修补。我想至少在这个具体的例子中我不同意。如果用户必须单击某个元素以使长滚动下拉菜单可见(在我的示例中就是这种情况)然后将鼠标移到菜单上并使用滚轮,则可以安全地将其视为用户正在关注该内容并希望仅滚动该内容,而不是有人在尝试滚动整个屏幕时错误地将鼠标移到元素上并失败。我看不出用户会在这种情况下滚动,并希望查看的内容滚动到屏幕外。在这种情况下,我相信更改默认行为将是有益的。无需给出复杂的示例。。。我也对浏览器如何处理这个问题感到恼火。然而,我也希望我的鼠标滚轮无论我访问哪个网站都能起到同样的作用。如果这些网站做了你想要的,而不是令人讨厌的预期行为,你会担心吗?也许惊喜会压倒你的不熟悉感。