捕获显示滚动条事件

Catch showing scrollbar event

本文关键字:事件 滚动条 显示      更新时间:2023-09-26

我有一个具有相对定位的流体div。在这个div中,我有一个时间表,它由几个指示时间的标签组成。当滚动条出现时,我需要刷新时间线的位置。但我唯一能想到的事件是:

$(window).resize(function(event) {
    ...
});

而且它不会开火。例如,当我在 chrome 中按 f12 以打开开发工具时,它才会触发。但是如果我以自然的方式获得滚动条(因为内容很多),我无法弄清楚如何捕获此事件

我做了一个jsfiddle,显示当垂直滚动条出现时,身体的宽度和一个随机div的变化。这可以帮助您解决问题。

http://jsfiddle.net/kasperfish/GrZp4/3/

$(function() {
    getinfo();
    $('#togglescroll').click(function(){
        $('#container').slideToggle( "fast" , function (){
            getinfo();
        });
    });
});

function getinfo(){
     $('#view').html('body width: '+$("body").width()+'</br>');
     $('#view').append('red rectangle width: '+$("#view").width()+' (2px < body because of border 1px)</br>'); 
    if ($("body").height()>$(window).height()) {
        $('#view').append('vertical scrollbar: yes');        
    }else{
        $('#view').append('vertical scrollbar: no'); 
    }
}