2011-08-16 7 views
0

IE 7/8에서 실행해야하는 스크립트에 Jquery 1.3.2를 사용하고 있습니다. jQuery 1.3.2 충돌

내가 tabSlideOUt 1.3을 수정했습니다 다음 코드

By William Paoli: http://wpaoli.building58.com is causing a conflict and throwing an "Invalid Argument" error in jquery. 

<script type="text/javascript"> 
$(document).ready(function() { 
    $("div#slidetab_1.slide-out-div a.handle").click(function() { 
     $("div#slidetab_2.slide-out-div").toggleClass("slide-height", 250) ; 
    }); 
    $("div#slidetab_2.slide-out-div a.handle").click(function() { 
     $("div#slidetab_2.slide-out-div.tab2.slide-height").toggleClass("slide-height"); 
    }); 
}); 
</script> 

toggleClass 기능이 오류의 원인이되는 것으로 보인다. 누구든지이 코드를 작성하는 또 다른 방법을 알고 있으므로 토글을 사용할 필요가 없습니다.

너무 불투명하지만 미안하지만 JS Fiddle에서 예제를 게시하는 데 문제가있었습니다. 이 글은 어떻게해야 어떤 문제는 당신이 두 번째 인수로 250를 전달한다는 것입니다 내가 필요

모든 사전에 toggleClass

감사에 대한 대체 방법입니다

건배

답변

1

... 당신의 암호? documentation 가입일

:

스위치 부울 (다만 truthy/falsy) 값은 클래스가 추가되거나 제거되어야하는지 여부를 결정한다.

나는 그것을 제거하는 것이 좋습니다.

업데이트 :jQuery source code,을 전달한 후에는 250을 전달하면 오류가 발생하지 않습니다. 그럼에도 불구하고 나는 그것을 제거하고 그것을 테스트하는 것이 좋습니다. 작동하지 않는 경우 자세한 정보를 제공해야합니다 (정확한 오류 발생 위치 등).

function toggleClass($element, cls) { 
    $element[$element.hasClass(cls) ? 'removeClass' : 'addClass'](cls); 
} 
+0

안녕 펠릭스 문제였다 감사 :

양자 택일로, 당신은 클래스를 전환하려면이 기능을 사용합니다. 250은 jQuery 1.4에서만 구현 된 것으로 보는 지연입니다. 고마워요, 축하합니다. –

+0

@Clinton : jQuery 1.4조차도 이것을 구현합니다 (적어도 문서에는 포함되어 있지 않습니다). jQuery UI의 확장 기능 일 수 있습니다. 어쨌든,이게 다행이라고 :) 행복 코딩! –

+0

안녕하세요, Felix, http://api.jquery.com/delay/ 여기에서 살펴보십시오. jQuery 1.5.2에서 동일한 코드를 사용했는데 효과적이었습니다. 다시 한 번 감사드립니다, 건배 –