Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在使用javascript/css的元素上方的鼠标上禁用(而不是隐藏)主滚动条?_Javascript_Css - Fatal编程技术网

在使用javascript/css的元素上方的鼠标上禁用(而不是隐藏)主滚动条?

在使用javascript/css的元素上方的鼠标上禁用(而不是隐藏)主滚动条?,javascript,css,Javascript,Css,所需行为:在元素的鼠标上方,我想禁用主浏览器窗口滚动,或者至少使用鼠标滚轮来禁用。我想在滚动条被禁用时保持其可见性 原因:页面大约是浏览器窗口高度的两倍。有一个带有滚动条的div。当鼠标在div上滚动并且点击列表的底部或顶部时,主窗口开始滚动。这是不必要的行为,因为主窗口滚动通常会移动屏幕上的divs内容,甚至将其完全滚动出屏幕,这非常烦人。我想能够鼠标滚动到div的底部,而不需要主窗口滚动,然后将div滚动到视图之外。我希望任何禁用的滚动条保持可见的原因是,如果它们被隐藏,页面的宽度会拉伸以适

所需行为:在元素的鼠标上方,我想禁用主浏览器窗口滚动,或者至少使用鼠标滚轮来禁用。我想在滚动条被禁用时保持其可见性

原因:页面大约是浏览器窗口高度的两倍。有一个带有滚动条的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);
    });

其中元素是另一个滚动区域

您正在描述默认浏览器行为。这是人们所期望的,可能不应该被修补。我想至少在这个具体的例子中我不同意。如果用户必须单击某个元素以使长滚动下拉菜单可见(在我的示例中就是这种情况)然后将鼠标移到菜单上并使用滚轮,则可以安全地将其视为用户正在关注该内容并希望仅滚动该内容,而不是有人在尝试滚动整个屏幕时错误地将鼠标移到元素上并失败。我看不出用户会在这种情况下滚动,并希望查看的内容滚动到屏幕外。在这种情况下,我相信更改默认行为将是有益的。无需给出复杂的示例。。。我也对浏览器如何处理这个问题感到恼火。然而,我也希望我的鼠标滚轮无论我访问哪个网站都能起到同样的作用。如果这些网站做了你想要的,而不是令人讨厌的预期行为,你会担心吗?也许惊喜会压倒你的不熟悉感。