2011-11-16 10 views
1

저는 JQuery에 익숙하지 않습니다. 그리고 제 페이지에 2 개의 jQuery를 사용했습니다. Jquery에서 충돌을 어떻게 제거 할 수 있습니까?

먼저 JQuery와 들어 내 스크립트는 다음과 같다 : 이제

<script> 
    var jq = $.noConflict(); 
    jq(function() { 
     jq("#my_tabs").tabs({ 
     event: "click" //click 
     });    
    }); 
</script> 

나는 내가 처음으로 jQuery를 잃은 다음과 같이 두 번째 jQuery를 사용하는 경우. 로드 할 수 없습니다.

<script type="text/javascript"> 
    $(document).ready(function() { 
    $("#waterwheel-carousel-default").waterwheelCarousel(); 

    $("#waterwheel-carousel-higharch").waterwheelCarousel({ 
     startingWaveSeparation: -90, 
     waveSeparationFactor: .7, 
     centerOffset: 10, 
     startingItemSeparation: 120, 
     itemSeparationFactor: .9, 
     itemDecreaseFactor: .75 
    }); 

    $("#waterwheel-carousel-horizon").waterwheelCarousel({ 
     startingWaveSeparation: 0, 
     centerOffset: 30, 
     startingItemSeparation: 150, 
     itemSeparationFactor: .7, 
     itemDecreaseFactor: .75, 
     opacityDecreaseFactor: 1, 
     autoPlay: 1500 
    }); 

    $("#waterwheel-carousel-flat").waterwheelCarousel({ 
     itemSeparationFactor: 1, 
     itemDecreaseFactor: 1, 
     waveSeparationFactor: 1, 
     startingWaveSeparation: 0, 
     startingItemSeparation: 280, 
     centerOffset: 10, 
     opacityDecreaseFactor: .3, 
     autoPlay: 3000, 
     edgeReaction: 'reverse' 
    }); 

    $("#waterwheel-carousel-vertical").waterwheelCarousel({ 
     orientation: 'vertical', 
     startingItemSeparation: 100, 
     startingWaveSeparation: 40, 
     autoPlay: 2000 
    }); 

    }); 
</script> 

이미지 슬라이딩을 위해 두 jQueries를 모두 사용하고 있습니다. 문제가 무엇인지 말해 줄 수 있습니까? 감사합니다

답변

6

두 번째 수행해야하는 jQuery 스크립트 $.noConflict()이 (가) 켜져 있어야합니다.

<script src="http://code.jquery.com/jquery-1.7.js"></script> 
<script> 
    var jq = $.noConflict(); 
    jq(function() { 
     jq("#my_tabs").tabs({ 
     event: "click" //click 
     });    
    }); 
</script> 
<script src="http://code.jquery.com/jquery-1.4.js"></script> 
모두 jQuery

$는 jQuery를 1.4 가리 킵니다, 아무것도 jQuery를 1.7를 참조하지 않습니다. 덧붙여 말하자면, $.noConflict을 다시 실행하는 경우, jQuery 1.4를로드 한 후에을 호출하면 jQuery은 1.4를 참조하지만 $은 정의되지 않습니다.

그러나, 당신이 할 경우 :

<script src="http://code.jquery.com/jquery-1.7.js"></script> 
<script src="http://code.jquery.com/jquery-1.4.js"></script> 
<script> 
    var jq = $.noConflict(); 
    jq(function() { 
     jq("#my_tabs").tabs({ 
     event: "click" //click 
     });    
    }); 
</script> 

$ jQuery를 1.7를 참조하지만, (당신의 jq 변수 것 같은) jQuery jQuery를 1.4 가리 킵니다.

$.noConflict(true)을보고 싶을 수도 있습니다. jQuery$ 변수를 모두 해제합니다. 그래서 당신은 이와 같은 것을 할 수 있습니다; 그런 다음

<script src="http://code.jquery.com/jquery-1.7.js"></script> 
<script src="http://code.jquery.com/jquery-1.4.js"></script> 
<script> 
    var jq = $.noConflict(true); 
    jq(function() { 
     jq("#my_tabs").tabs({ 
     event: "click" //click 
     });    
    }); 
</script> 

모두 $jQuery는 jQuery를 1.7 가리 킵니다하고 만 jq 변수가 jQuery를 1.4

을 가리 킵니다
관련 문제