IE6은 항상 저에게 놀라움을 금치 못합니다.하지만 이건 정말 이상합니다.IE6에 비해 jQuery가 너무 빠릅니까? (이상한 문제는 경고를 추가하여 해결됩니까?)
각 '버튼'에 텍스트를 세로로 가운데 놓아야하는 가로형 메뉴를 만듭니다. IE를 제외한 모든 브라우저에서 쉽습니다. 따라서 IE 브라우저의 경우 자바 스크립트를 사용하여 각 단추에 필요한 패딩을 추가하여 텍스트가 가운데에 표시되도록하십시오.
IE8과 IE7에서 정상적으로 작동합니다. IE6은 웬일인지 제대로하지 못했습니다. IE6가 하나씩 제대로 각 요소에 올바른 패딩을 적용, 거기 경고와
$menuTriggerUL.children('li').each(function(i){
var heightDifference = tallestTab-tabTextHeight[i];
if (heightDifference < 0){heightDifference=0};
alert(heightDifference);
$(this).children('a:first').css("padding-top", Math.floor(heightDifference/2));
});
:
그래서, 나는 패딩을 추가 라인 전에 ALERT 권리를 추가했다.
경보를 울리면, 첫 번째 경보가 울리거나 뒤집어 지지만 뒤따른 경보는 걸립니다.
jQuery는 IE6에서 처리하는 것보다 빠르게 진행되는 것처럼 보입니다. 분명히 그 일은 일어날 가능성이 없지만 어떻게 설명해야할지 모르겠습니다.
문제의 일부인 것 : jQuery each() 함수를 사용하고 이전의 채워진 배열에서 값을 가져 오는 중입니다.
어떤 일이 벌어 질지에 대한 이론은 무엇입니까?
업데이트 : 아래의 jhurshman의 대답이 해결책이었습니다. 나는이 문제에 대해 더 많이 알고 싶다. 그리고 사람들이 어떤 시나리오로 IE6에서이 문제를 일으킬 수 있는지에 대한 아이디어를 갖고 싶다. 나는 결코 그것에 뛰어 들어 본 적이 없지만 나중에 사용하기 위해 도구 상자에 수정 사항을 가지고있어 기쁩니다.
이 모든 것이 $ (document) .ready 처리기 안에 있습니까? – eliah
@eliah : 예 –