2014-08-29 3 views
1

Typo3 스크립트에서 FlexSlider 확장 (1.50)을 사용하려고합니다. FlexSlider에는 jQuery가 필요하므로 확장 프로그램 T3 jQuery로 추가했습니다. 불행히도 FlexSlider는 작동하지 않습니다. 다음과 같은 오류 메시지가 나타납니다.FlexSlider가 작동하지 않습니다 - "잡히지 않은 TypeError : undefined가 함수가 아닙니다"(Typo3)

"감지되지 않은 TypeError : 정의되지 않은 함수가 아닙니다".

그것은이 코드 블록의 두 번째 줄을 말합니다 :

<script type="text/javascript"> 
    $(window).load(function() { 
    $('#fs-182.flexslider').flexslider(
    { 
     animation: "fade", 
     slideDirection: "horizontal", 
     slideshow: false, 
     slideshowSpeed: 7000, 
     animationDuration: 600, 
     controlNav: true, 
     directionNav: false, 
     keyboardNav: false, 
     mousewheel: false, 
     prevText: "Previous", 
     nextText: "Next", 
     pausePlay: false, 
     pauseText: "Pause", 
     playText: "Play", 
     randomize: false, 
     animationLoop: true, 
     pauseOnHover: false 

    }); 
}); 

</script> 

사람이 아이디어는 어떻게이 문제를 해결해야합니까?

편집 : jQuery가 파일에 두 번 추가되었습니다. 머리글과 본문에. 헤더의 하나가 T3 jQuery에 의해 추가 된 것 같습니다. T3 jQuery (2.1.0)의 속성에서 선택한 것과 동일한 버전입니다. 본문에있는 버전은 이전 버전 (1.10.2)입니다.

+0

당신이 jQuery를이 코드 전에로드 확신에 포장 할 수 있겠지? 당신은 살아있는 예를 가지고 있습니까? –

+0

jQuery 다음에 FlexSlider를 추가합니까? –

+0

왜 그런지 모르지만 FlexSlider 이후에 jQuery가 추가되었습니다. 전에 추가해야하나요? 그렇다면 Typo3를 사용하여 어떻게 달성 할 수 있습니까? 죄송합니다. 실제 예제를 표시 할 수 없습니다. – user3641158

답변

2

이것은 jQuery가 정의되지 않았기 때문에 정의되지 않은 이유를 알아낼 필요가 있음을 의미합니다. 두 번로드하는 것은 좋은 일이 아닙니다.

jQuery를 한 번만로드하고이 스크립트가로드되기 전에로드되어 있어야합니다.

그 외의 경우 $를 실제 텍스트 jQuery로 바꿀 수 있습니다.

jQuery(window).load(function($) { 

또는 당신은 익명 함수

(function() { 

})(); 
+0

jQuery가 typo3 관리자 패널에 의해 추가되었다고 생각하지만 그것을 막을 방법을 모른다. – user3641158