【问题标题】:IE8 Screen Resize Called on jQuery Toggle在 jQuery Toggle 上调用 IE8 屏幕调整大小
【发布时间】:2013-05-02 12:49:00
【问题描述】:

当我在屏幕调整大小上调用函数时,我遇到了 IE8 的一些问题(想象一下……)。我调用的这个函数是一组响应式调整,旨在使我的网站在移动设备上更可用。我在页面加载和调整屏幕大小后调用该函数。当我使用 jQuery 在屏幕上切换某些东西(例如搜索框)时,就会出现我遇到的问题。根据IE8,每次我切换某些东西时,它都会触发屏幕调整大小功能,然后隐藏我刚刚切换的东西。

我用一些示例代码创建了一个要点,因为 pastebin 和 IE8 似乎不能一起工作。 https://gist.github.com/johns996/5501932

【问题讨论】:

  • 你应该在这里发布你的代码,而不是在一个要点中
  • 当我尝试粘贴时,stack 撕掉了 doctype 和 header 部分。这就是我选择 gist 的原因。
  • 你能在这里使用 IE8 重现你的问题吗:jsfiddle.net/yJxG9/6/embedded/result 因为在模拟模式下,我不能。
  • 那个小提琴在 IE8 上加载时会产生同样的问题。

标签: jquery internet-explorer-8 resize


【解决方案1】:

解决您的问题的简单方法,只需检查调整大小是否确实调整了您的窗口大小:

//run the tweaks on page resize
var x,y;
var w=$(window).resize(function() {
    var newx=w.width(); 
    var newy=w.height();
    if(x!=newx || y!=newy){
        // run code...
    }
    x=newx; y=newy;
});

刚刚在 IE8 中测试过并且可以工作。

【讨论】:

  • 完美。我知道必须有一个简单的方法来做到这一点,我只是没想过实际检查窗口大小。
  • 作为旁注,我在上面使用的脚本版本中取消了高度检查,因为当我切换框导致它再次隐藏时,窗口的高度似乎正在改变。跨度>
  • 我看到 IE8 做了一些更奇怪的事情! ;-) 切换时页面是否会出现水平滚动条?这可能是身高变化的原因。
  • 我没有看到任何滚动条出现,但我没有对其进行广泛测试。我的响应式脚本只关心页面的宽度,所以你的修复已经足够了。
猜你喜欢
  • 2016-07-14
  • 2014-04-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-20
  • 2018-04-30
  • 1970-01-01
相关资源
最近更新 更多