php - window.resize总是在IE中触发而不调整大小

标签 php javascript jquery internet-explorer

旧标题:包含的 PHP 无法按预期在函数中与 JQuery 和 IE 配合使用

我有这两个功能:

第一:

/* dynamic menue */
$("#wrapper div").not(":first").hide();
$("#nav p").click(function () {  
$('#wrapper div').eq($(this).index()).show().siblings().hide();
});

第二:

 var menue = function (menue) {
 if ($(window).width() < 680) {
    $("#nav").hide();
    $("#wrapper div").show();
 } else  {
    $("#nav").show();
    $("#wrapper div").not(":first").hide();
 }
};
$(document).ready(menue);
$(window).resize(menue);

​第一个功能运行良好,第二个功能确保如果窗口大小超过 680px,则所有内容都显示在没有菜单的情况下,否则将显示正常状态。在所有浏览器中一切正常。

我编了一个可视化 fiddle :http://jsfiddle.net/TFeWY/

但是,这在 IE 中无法按照预期的设置工作:div 内容是使用 php 生成的。在这种状态下,我只能在 IE 中看到第一个 div,无法切换到另一个,但调整大小效果很好。但是,如果我用 html 更改 php 内容,一切都会再次正常工作。更有趣的是:如果我保持 php 不变,只需删除 else 语句,它也可以工作。

到目前为止,我无法弄清楚它是 php 内容(我不这么认为)还是 php 内容上下文中的 hide() 命令。

IE的功能有问题吗? (在IE8下测试)

编辑:

如果我删除 $(window).resize(menue);它也有效。那么肯定是函数本身有问题?

我发现window.resize函数在IE 8中总是被触发,这就是为什么我看不到其他div的原因。

我该怎么做呢?

最佳答案

也许可以重新组织您的代码,例如:

$(document).ready(function(){   
    $("#wrapper div:gt(0)").hide();
    $("#nav p").live('click',function () {  
    $('#wrapper div').eq($(this).index()).show().siblings().hide();
    }); 
    menue();
    $(window).live('resize',function(){menue()});
});

function menue() {
 if ($(window).width() < 680) {
    $("#nav").hide();
    $("#wrapper div").show();
 } else  {
    $("#nav").show();
    $("#wrapper div:gt(0)").hide();
 }
}

关于php - window.resize总是在IE中触发而不调整大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9246085/

相关文章:

php - 将具有丰富 UI 的 PHP/MySQL 网站迁移到 Google 网站或 Google App Engine 是个好主意吗?

php - fatal error : Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064

javascript - 勾选 Javascript 中的独家项目

jQuery - 如何选择父元素的子元素?

php - 性能问题 : Load data infile is making select query slow

javascript - 从 ajax 响应中删除尾随 0

javascript - 如何使 JavaScript Date.prototype.toString() 始终显示本地时区

javascript - 在快速响应中获取空数组

jquery - 如果它们已经属于一个类,我如何在 jquery 中命名和选择一组元素?

jQueryUI 在多个字段上自动完成