在jQuery上调用IE8屏幕大小切换

问题描述:

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

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

+0

你应该在这里发布你的代码,而不是要求 – 2013-05-02 12:54:09

+0

堆栈在我试图粘贴它时撕掉了文档类型和标题部分。这就是为什么我选择了要点。 – Cloudkiller 2013-05-02 13:01:34

+0

你可以在这里使用IE8重现你的问题:http://jsfiddle.net/yJxG9/6/embedded/result/因为在模拟模式下,我不能。 – 2013-05-02 13:11:11

你的问题简单的解决方案,只是检查是否调整大小没有真正调整窗口的大小:

//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和作品。

+0

完美。我知道必须有一个简单的方法来做到这一点,我只是没有想到实际检查窗口大小。 – Cloudkiller 2013-05-02 13:37:03

+0

作为一个附注,我在上述脚本的版本中拔出了高度检查,因为当我切换框使窗口再次隐藏时窗口的高度似乎发生了变化。 – Cloudkiller 2013-05-02 13:42:49

+0

我见过IE8做更多的东西! ;-)当你切换时页面是否获得水平滚动条?这可能是高度变化的原因。 – Willem 2013-05-02 15:01:40