Javascript 为什么不调整事件大小';当滚动条出现或消失时是否触发?

Javascript 为什么不调整事件大小';当滚动条出现或消失时是否触发?,javascript,browser,Javascript,Browser,当浏览器的垂直滚动条出现或消失时,视口或浏览器窗口的宽度会改变(可以使用jQuery的$(window).width()方法进行测试),但不会触发窗口的调整大小事件。为什么?重新调整大小是一个由实际浏览器窗口大小变化驱动的事件 如果我从页面中删除元素,直到我的内容适合屏幕,会怎么样?那不是窗户的尺寸。或者如果我将页面的溢出更改为隐藏。滚动条将消失,但这也不是重新调整大小 我的意思是:滚动条的可见性并不一定意味着发生了重新调整大小的事件。浏览器不会将其识别为调整大小。然后,如果需要“滚动条出现”和

当浏览器的垂直滚动条出现或消失时,视口或浏览器窗口的宽度会改变(可以使用jQuery的$(window).width()方法进行测试),但不会触发窗口的调整大小事件。为什么?

重新调整大小是一个由实际浏览器窗口大小变化驱动的事件

如果我从页面中删除元素,直到我的内容适合屏幕,会怎么样?那不是窗户的尺寸。或者如果我将页面的溢出更改为隐藏。滚动条将消失,但这也不是重新调整大小


我的意思是:滚动条的可见性并不一定意味着发生了重新调整大小的事件。

浏览器不会将其识别为调整大小。然后,如果需要“滚动条出现”和“滚动条消失”事件,请使用以下代码:

<div id="footerDiv" style="float: left; height: 1px; width: 100%;"></div>



bodywidth = 0;

$(document).ready(function () {

    bodywidth = $("#footerDiv").width();
    setInterval(scrollbarHelper, 100);

});

function scrollbarHelper() { 

    var newwidth = $("#footerDiv").width();

    if (bodywidth !== newwidth) {

        if (bodywidth > newwidth) {
            alert("Scrollbar Appeared");
            // Your code here
        }
        else if (bodywidth < newwidth) {
            alert("Scrollbar Disppeared");
            // Your code here
        }

        bodywidth = newwidth;
    }
}

体宽=0;
$(文档).ready(函数(){
bodywidth=$(“#footerDiv”).width();
设置间隔(scrollbarHelper,100);
});
函数scrollbarHelper(){
var newwidth=$(“#footerDiv”).width();
if(车身宽度!==新宽度){
如果(车身宽度>新宽度){
警报(“出现滚动条”);
//你的代码在这里
}
else if(车身宽度<新宽度){
警报(“显示滚动条”);
//你的代码在这里
}
车身宽度=新宽度;
}
}

使用overflowchanged事件而不是resize。

如果不是窗口大小调整,那么为什么jQuery会为窗口返回不同的宽度?overflowchanged不推荐使用。