繁体   English   中英

IE6与此jQuery崩溃

[英]IE6 crashes with this jQuery

以下代码每次都会使IE6崩溃。 它会不断刷新页面并在一分钟后崩溃:

$(window).bind("load resize", function () {
    var hnf = $('#header').height() + $('#footer').height();
    $('#main').height($(window).height() - (hnf));
    $('.fluid').height($('#main').outerHeight());
    $('#content').width($('#main').width() - $("#aside").width() - 90);
});

..是什么原因引起的?

编辑:好的$(window).bind("load resize", function () {引起了,我该如何解决?

非常感谢您的帮助!

即使文档主体尺寸发生更改,似乎IE6也会错误地触发onResize事件。 这是更多信息链接

我会寻找一种非jQuery的方式来做你想要的。 如果使用CSS控制页面的固定大小元素,浏览器是否会自行处理可变大小元素?

修复了Drew Wills链接到听起来应该起作用的声音。 尝试:

var prevHeight;
$(window).bind("load resize", function () {
  var height = $(window).height();
  if ( prevHeight == height ) 
     return; // hack to prevent recursion in IE6
  prevHeight = height;

  // resize content
  var hnf = $('#header').height() + $('#footer').height();
  $('#main').height(height - (hnf));
  $('.fluid').height($('#main').outerHeight());
  $('#content').width($('#main').width() - $("#aside").width() - 90);
});

随意修饰一下(将prevHeight附加到其他东西上,等等)。

我认为这可能与您尝试在不使用CSS的情况下设置高度和宽度有关。 我不确定,但是如果要这样做,我将使用JQUERY .css()方法设置其高度和宽度。 所以看起来像这样

$(window).bind("load resize", function () {
    var hnf = $('#header').height() + $('#footer').height();
    $('#main').css("height", ($(window).height() - hnf));
    $('.fluid').css("height", ($('#main').outerHeight()));
    $('#content').css("width", ($('#main').width() - $("#aside").width() - 90));
});

这可能行不通,我没有测试。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM