javascript - iOS 8 故障影响窗口大小调整

标签 javascript jquery ios8

我有一些非常简单的代码:

$(function() {
    $(window).resize(function () {
        if ($(window).width() < 500) {
            $("#foo").show(); $("#foo2").hide();
        } else if ($(window).width() > 501) {
            $("#foo2").show(); $("#foo").hide();
        }
    }).resize();
});

在桌面(所有主要浏览器)和移动设备(我能测试的尽可能多的浏览器)上一切都运行良好,直到 iOS 8 发布。现在,当用户在 Safari 中滚动时,JavaScript 会回退到“else if”,创建“foo2”并隐藏“foo”,尽管浏览器没有调整大小。这是针对菜单的,因此如果用户滚动,菜单就会关闭,而这是不应该发生的。

如果我删除窗口调整大小功能,所有功能都会正常工作,但是如果用户调整浏览器窗口大小,菜单不会实时更新。

是否可以使用调整窗口大小的替代方法来达到相同的效果?

最佳答案

...所以,考虑到我遇到了你所描述的问题,你可以避免使用 JavaScript 并使用纯 css 和媒体查询来实现:

@media (max-width:500px) {
  #foo {
    display:block;
  }
  #foo2 {
    display:none;
  }
}
@media (min-width:501px) {
  #foo2 {
    display:block;
  }
  #foo {
    display:none;
  }
}

编辑: ..这肯定与滚动无关,而且肯定会更快、更干净

关于javascript - iOS 8 故障影响窗口大小调整,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26369858/

相关文章:

javascript - 使用自己的消息 CQ 登录

javascript - Protractor 能否测试禁用了 debugInfoEnabled 的 Angular 应用程序?

jquery - 使用 fadeIN 函数限制链接标签以获得平滑滚动效果

javascript - 无法使用 JavaScript 在 IE 上打印 iframe,而是打印父页面

swift - 无法打开粒子 SKS 文件

ios - 使用 Parse 作为后端在 Xcode 6 中使用 Swift 创建注册

javascript - 提交按钮和输入关键问题

javascript - JQuery 未从 PHP echo 运行

javascript - 从另一个属性的函数中使用时,对象文字根属性未定义

objective-c - 适用于 iPhone 6 plus 的 Xcode 6 启动图像