簡體   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