2010-01-04 5 views
0

다음 코드는 IE6을 매번 충돌시킵니다. 페이지를 새로 고치고 잠시 후에 충돌합니다.IE6이 jQuery와 충돌 함

$(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() {의 "크기 조정"이 원인입니까, 어떻게 수정합니까?

많은 도움을 주셔서 감사합니다.

+10

IE6이 나에게 화를 냈을 때마다 1 달러가 있다면 나는 부자가 될 것이며 지구상에서 가장 부유 한 사람이 될 것입니다. –

+0

당신은 그 코멘트를 위해 많은 담당자를 볼 수 있습니다. 나는 내 솔루션을 얻을 바랍니다. :) – 3zzy

+0

XP SP2가없는 우리에게 이런 일이 일어나고 있습니까? XP SP2가없는 IE6는 jQuery와 항상 충돌하기 때문에 SP2가 해결합니다. –

답변

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 등을 첨부) 주시기 바랍니다.

+0

여전히 충돌합니다! :( – 3zzy

+0

그럴 경우 좀 더 똑똑한 것이 필요합니다 ... 수정본을 사용해보십시오. Drew Wills 링크 – Shog9

+0

그래, 실제로 작동합니다! 감사합니다. – 3zzy

3

문서 본문 크기가 변경되는 경우에도 IE6에서 onResize 이벤트가 잘못 발생하는 것처럼 보입니다. 여기에 link with more information이 있습니다.

나는 당신이 원하는 것을하기 위해 비 jQuery 방법을 찾는다. CSS를 사용하여 페이지의 고정 크기 요소를 제어하는 ​​경우 브라우저가 자체적으로 가변 크기 요소를 처리하지 않습니까?

+0

고마워,하지만 내 코드에 대한 수정을 구현하는 JS는 거의 알지 못한다. 도와 주실 수 있니? 감사! – 3zzy

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)); 
}); 

이것은 작동하지 않을 수 있습니다. 테스트하지 않았습니다.

+0

아니요, 여전히 동일합니다. 원래 설명을 수정했습니다. – 3zzy