2010-08-15 5 views
1

포지셔닝을 사용하여 일련의 <span>을 절대적으로 배치하는 유효성 검사 스크립트가 있습니다. 그러나 포지셔닝은 IE6에서 오른쪽으로 약 10 픽셀 씩 (일명 더 많은 픽셀을 오른쪽에 추가해야 함) 끕니다. jQuery로 IE6를 탐지하고 오른쪽으로 10 픽셀 더 추가 할 수 있는지 궁금합니다. 이것은 내가 가지고있는 코드 : 기본적으로IE6 특정 자바 스크립트 코드

if (($item.val() == nameOrig) || ($item.val() == "") && ($.browser.msie && $.browser.version.substr(0,1)>6)) { 

     $(wrong).appendTo('body').hide().fadeIn("normal").css({ 
      'top' : position.top + 'px', 
      'right' : ($item.width()*1.5) + parseFloat($item.css('padding-left'), 10) + parseFloat($item.css('margin-left'), 10) + parseFloat($item.css('padding-right'), 10) + extraSpace +'px' 
     }); 

     $item.addClass('textError'); 
    } 

, 나는 IE6에 10 개 개의 픽셀을 추가하는 방법을 알아낼 수 없게되고 난 IE6에 표시에서 (변수 wrong에 저장 됨) <span>을 삼가하고 싶어 . 그러나 그것조차도 작동하지 않았습니다 (일명 IE6에서 나타났습니다 ...).

편집 : 그것은 특별히 말한다 동안 위의 코드는 IE> 6 개

어떤 아이디어 인 경우 스크립트 작업 을 위해 if statement에 IE6 작동 왜 사람이 바로 나에게 설명 할 수 있다면?

감사합니다. Amit

답변

1

당신은 문제가 이전 상자 모델 문제라고 생각할 것입니다. 기본적으로 IE는 패딩, 여백 등이 엔티티 너비/높이와 관련하여 다른 모델을 사용합니다. 위키 피 디아 here에서 매우 잘 설명되어 있습니다.

나는 이것을 고려한 즉, 너비를 크게하여 추가/다른 CSS 항목을 IE6 용으로 만 처리하는 것이 좋습니다. 조건부 주석을 통해이 작업을 수행 할 수 있으며, here도 기록되어 있습니다.

+0

내 스크립트가 IE6에서 작동하는 이유를 알고 있습니까? 사용자가 IE6을 사용할 수있는 경우 (if 문에서) ''을 추가하면 안됩니다. 그러면 왜 그런가 ?? – Amit

+1

이것을 IE 6의 점검으로 사용하십시오.'($ .browser.msie && parseFloat ($. browser.version) <7)' – Lazarus

+0

감사합니다. :) – Amit

관련 문제