滚动的javascript调整大小事件 - 移动

时间:2012-02-20 13:31:10

标签: javascript events mobile resize

我正在尝试建立一个移动网站。我正在窗口上绑定“调整大小”事件,当移动设备正在转动时,它应该重新排列元素(肖像< - >横向)。在iPhone和三星Galaxy SII上,当我向下滚动页面时会触发该事件,这并不好。

有什么建议吗?

2 个答案:

答案 0 :(得分:43)

缓存视口的宽度,如果宽度仍然相同,则调整大小时返回false。

一个小的jQuery片段:

    var cachedWidth = $(window).width();
    $(window).resize(function(){
        var newWidth = $(window).width();
        if(newWidth !== cachedWidth){
            //DO RESIZE HERE
            cachedWidth = newWidth;
        }
    });

答案 1 :(得分:7)

使用onOrientationChange事件和window.orientation属性。

另见this answer

此处链接to a test page