2009-11-11 1 views
2

생각하지 않습니다 : http://www.karencaldwelldesign.com/fashionIE 잘못된 인수 오류 -이 사이트는</p> <p>... 그것은 jQuery를에 오류가 말한다,하지만 난, 어쩌면 모든 IE의 IE7에서 잘못된 인수 오류를 통해 내 머리카락을 잡아 당겨하고 그래서

IE는 12 행에 오류가 있다고하지만 Script Debugger를 열면 jQuery의 일부 코드에 문제가 있다는 메시지가 표시됩니다. 나는 그것을 사지 않는다.

그래서, 내 스크립트 (http://www.caldwellsnyder.com/__data/assets/js_file/0003/5943/kc-gallery.js) 및 라인 (65)에 보았다는 문제가 될 것 같습니다 :

data = '<div id="content'+id+'" class="content">'+data+'</div>'; 

데이터가 jQuery를 $의 아약스() 함수에서 반환,하지만 난 그것을 포장하기 위해 필요한 추가로 번호가 지정된 div.

특히 잘못된 인수 오류가 발생한 것은 id 변수이지만 그 이유는 알 수 없습니다! var는 증가하는 숫자입니다. 그 줄에서 var를 제거하면 페이지가 완벽하게로드 될 수 있지만 실제로이 방법으로 ID를 증가시켜야합니다.

이 간단한 변수가 IE에서 잘못된 인수를 일으키는 이유는 누구나 알 수 있습니까?

+0

'식 ID + ','ID를 증분이 그다지 보면 오른쪽 – barkmadley

+0

미안 , 그것은 내가 잊어 버린 것을 잊어 버리는 나의 시험의 일부분이었습니다. 이 버그는 여전히 문제가 아닙니다. –

+0

@Nic : 코드의 한 부분에서 컨텍스트 매개 변수로'data'를'$'에 전달한 다음 다른 부분에 문자열을 연결합니다. '데이터'는 정확히 무엇을 의미합니까? –

답변

2

어쨌든 너는 -5px 너비를 설정하려고합니다. IE는 그렇게하지 않습니다. 그 값은 realPaneWidth 량 산출에서이를 얻을 JScrollPane.js의 선 $this.css(cssToApply); 으된다

var realPaneWidth = paneWidth - settings.scrollbarWidth - settings.scrollbarMargin - p; 
것을

, paneWidth 모두 동일한 676 settings.scrollbarWidth을하고 settings.scrollbarMargin -5 (을주는 5 p는 0 임).

kc-gallery.js에서 applyScroll 함수에 scrollbarWidth의 값이 676 인 jScrollPane을 초기화하는 것처럼 보입니다. 이것은 변수 check_images에 할당 된 setInterval 함수에서 호출되며 IE가 실제로 오류가 발생하는 곳에서 호출 스택을 모두 백업하는 데 width에서 -5px으로 설정됩니다.

그래서 JScrollPane을 사용하는 방식과 관련이 있습니다. 도움말을 확인하려면 문서를 확인하고 싶을 수 있습니다. 플러그인을 직접 사용한 적이 없으므로 도움이되지 않습니다. 그러나 scrollbarWidth 값이 676 인 것 같습니다.according to the JScrollPane docs :

scrollbarWidth [INT] - 픽셀 생성 스크롤의 폭 (10 디폴트)

+0

맞습니다. 여기가 확실히 문제입니다. 그러나 스크롤 영역으로 전체 이미지를 돌리고 싶으므로 스크롤 막대 폭을 넓게 설정해야하므로 아래쪽 절반을 클릭하면 이미지를 아래로 스크롤 할 수 있습니다. –

+0

스크롤 막대의 너비가 넓 으면 이미지를 표시 할 공간이 없습니다. 브라우저 윈도우의 스크롤 막대를 윈도우의 전체 너비를 차지하도록 설정하면 내용을 볼 수 없으며 컨텐츠가 있어야하는 엄청나게 넓은 스크롤 바를 상상해보십시오. 그래도'scrollbarWidth'로 전달한 값에서'settings.scrollbarMargin'을 빼면'realPaneWidth'를 0으로 설정하면 IE 오류가 발생하는 것을 피할 수 있습니다. – NickFitz

+0

비슷한 문제가 생겼습니다. 동적으로 설정되는 새로운 너비가 실제로 숫자인지 확인하여 문제를 해결했습니다. if (! isNaN (emWidth)) {} –

0

표시되는 오류는 DOM 속성을 잘못된 값으로 설정하려고하면 jQuery에서 발생합니다. 예를 들어 z- 색인을 NaN 또는 문자열로 설정하십시오. 파이어 폭스와 다른 브라우저가 값을 무시하는 IE 오류. , jQuery("#header").css("z-index", NaN); 그것은 당신의 변수 glob_index처럼 보이는

어떤 시점에서 정의되지 않은되고 :

당신은 IE8에서이 페이지의 콘솔에 다음 줄을 떨어 뜨리거나 이전 버전 Jash를 사용하여이 예를 볼 수 있습니다 따라서 jQuery 오류는 DOM 노드의 z- 인덱스를이 값으로 설정하려고 할 때 발생합니다.

관련 문제