以下代码每次都会崩溃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 () {
中的“调整大小”导致它,我该如何修复?
非常感谢你的帮助!
答案 0 :(得分:3)
即使文档正文尺寸发生变化,IE6也会错误地触发onResize事件。这是一个link with more information。
我会寻找一种非jQuery方式来做你想要的。如果您使用CSS来控制页面的固定大小元素,浏览器是否会自行处理可变大小的元素?
答案 1 :(得分:2)
修复Drew Wills links to听起来应该有效。尝试:
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 附加到别的东西等)。
答案 2 :(得分:0)
我认为这可能与您尝试在没有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));
});
这可能不起作用我没有测试它。