【问题标题】:JavaScript resize event on scroll - mobile滚动上的 JavaScript 调整大小事件 - 移动
【发布时间】:2012-03-10 20:14:05
【问题描述】:

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

我该如何解决这个问题?

【问题讨论】:

标签: javascript events mobile resize


【解决方案1】:

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

一个小的 jQuery sn-p:

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

【讨论】:

  • 这是我一直在寻找的答案。太赞了。 OP 这应该是公认的答案。这是正确的做法。
  • @LukeFlego 这是修复此错误的最佳方法,但不是理想的代码。有时最简单的修复是最好的:)
  • 遇到了同样的问题,这解决了它。这是正确的答案。
  • 这看起来像 jQuery,问题中没有任何关于它的内容。但感谢 sidonaldson 的回答——一点也不差。
  • @LGT 正确。我会更新答案以明确说明
【解决方案2】:

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

另见this answer。

这里链接to a test page。

【讨论】:

    猜你喜欢
    • 2013-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-27
    相关资源
    最近更新 更多