Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.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 出现滚动条时的eventlistener/css伪类_Javascript_Html_Css_Javascript Events_Pseudo Class - Fatal编程技术网

Javascript 出现滚动条时的eventlistener/css伪类

Javascript 出现滚动条时的eventlistener/css伪类,javascript,html,css,javascript-events,pseudo-class,Javascript,Html,Css,Javascript Events,Pseudo Class,当滚动条出现和消失时,是否存在javascript eventlister或css伪类? 例如system Mac OS,滚动条默认隐藏,当您开始滚动时,滚动条确实会出现。同样适用于Windows Internet Explorer>=10。 我想知道滚动条的出现和消失。 我的第一次测试: var doscroll = false, $html = $('html'), timer; $(window).on('scroll', function () {

当滚动条出现和消失时,是否存在javascript eventlister或css伪类? 例如system Mac OS,滚动条默认隐藏,当您开始滚动时,滚动条确实会出现。同样适用于Windows Internet Explorer>=10。 我想知道滚动条的出现和消失。 我的第一次测试:

var doscroll = false,
        $html = $('html'),
        timer;
$(window).on('scroll', function () {
    if (!doscroll) {
        doscroll = true;
        $html.addClass('doscroll');
    }
    clearTimeout(timer);
    timer = setTimeout(function () {
        doscroll = false;
        $html.removeClass('doscroll');
    }, 2000);
})
但是,当我单击滚动条并且不滚动时,计时器会删除docsroll类,而且我也不知道删除doscroll类的确切时间

有没有更好的解决方案/想法


谢谢Oliver,没有。滚动条依赖于实现

警察说

滚动机制取决于UA。最常见的 机械装置是一个滚动条,但平移器、手动光标、页面闪烁, 等等,也是可能的


因此,有些实现没有滚动条,有些实现有滚动条,但从不隐藏滚动条。因此,该事件毫无意义。

我不想隐藏滚动条。我想知道系统何时显示它们。Mac OS默认设置隐藏滚动条,但当您开始滚动时,滚动条确实会出现。有些浏览器将内容与出现的滚动条重叠。当我知道滚动条出现的时刻时,我可以移动重叠的元素。