2012-02-20 107 views
20

我正在尝试为移动设备制作一个网站。我在窗口上粘贴了“调整大小”事件,当移动设备转动时(纵向<->横向),应该重新排列元素。在iPhone和三星Galaxy SII上,当我向下滚动页面时触发事件,这并不好。javascript调整滚动事件大小 - 移动

有什么建议吗?

+0

见https://stackoverflow.com/q/8898412/89818 – caw 2018-01-09 04:07:44

回答

38

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

小jQuery的片段:

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

这是我一直在寻找的答案。太赞了。 OP这应该是被接受的答案。这是解决这个问题的正确方法。 – 2016-02-29 00:51:41

+0

@LukeFlego这是修复这个错误的最好方法,但不是理想的代码。有时最简单的修复是最好的:) – sidonaldson 2016-02-29 10:12:18

+1

进入同一个问题,这固定它。这是正确的答案。 – AldoTheApache 2016-03-01 22:31:04