【问题标题】:How to check if browser window is fully resized or not?如何检查浏览器窗口是否完全调整大小?
【发布时间】:2014-05-15 10:40:17
【问题描述】:

我想在我的窗口完全调整大小后执行一个功能。

window.resizeTo('792','115');

myFunction();

我的问题:

1.myFunction()方法是否只有在窗口完全调整大小后才会被调用?

2.如果是对我来说没有问题,否则我想要下面的场景?

我的需要:

我需要一个纯 Javascript 解决方案。

if(windowIsFullyResized){
      myFunction();
}else{
      // wait for window resize and again call myFunction();
}

我怎样才能做到这一点?

【问题讨论】:

    标签: javascript browser dom-events window-resize


    【解决方案1】:

    就像上面所说的here,你可以这样做:

    我更喜欢创建一个事件:

    $(window).bind('resizeEnd', function() {
        //do something, window hasn't changed size in 500ms
    });
    

    创建它的方法如下:

     $(window).resize(function() {
            if(this.resizeTO) clearTimeout(this.resizeTO);
            this.resizeTO = setTimeout(function() {
                $(this).trigger('resizeEnd');
            }, 500);
        });
    

    你可以在某个全局 javascript 文件中保存它。

    【讨论】:

    • 感谢您的回复。我需要一个纯 JavaScript 解决方案。
    • 你在去抖事件,还不错!
    • @HumanBeing 你很幸运,jQuery 是一个 javascript 库,所以“转换”代码/语法并不难。有趣的是,你用 jQuery 标签标记了问题......
    • @Wolf 在我的项目中,我们不能包含或使用 jquery。
    【解决方案2】:

    你可以这样做:

    $( window ).resize(function() {
        var windowWidth = $(window).width();
        var windowHeight = $(window).height();
        if(windowWidth == 792 && windowHeight == 115) myFUnction();
    });
    

    【讨论】:

    • 感谢您的回复。我需要一个纯 JavaScript 解决方案。
    • 我必须做同样的事情,只有在我的窗口被调整大小之后。
    • window.onresize=function(){SomeJavaScriptCode};
    • 在某些情况下,它会失败。所以只有我在问如何检查,浏览器窗口是否完全调整大小?
    猜你喜欢
    • 2015-04-20
    • 2019-08-27
    • 1970-01-01
    • 2023-04-07
    • 2012-02-23
    • 2012-05-23
    • 1970-01-01
    • 2017-12-05
    • 1970-01-01
    相关资源
    最近更新 更多