2014-05-21 1 views
0

이유는 묻지 않지만 개발자가 페이지에 몇 가지 기능을 설정하기 위해 JQuery 1.4.4를 사용하도록 의뢰했습니다. JQuery 버전을 2.1.1로 업데이트하십시오.JQuery 1.4.4 및 2.1.1과 다른 동작 (스크롤 상단)

$(document).ready(function(){ 
      var scroll_pos = 0; 
      $(document).scroll(function() { 
       scroll_pos = $(this).scrollTop(); 
       var hrt = $('.boxBg').offset().top-200; 
       if(scroll_pos > hrt) { 

        $('i.fa-heart').addClass('individual-heart-hover'); 
       } 
       else{ 
        $('i.fa-heart').removeClass('individual-heart-hover'); 
       } 
}); 
}); 

var _rys = jQuery.noConflict(); 
     _rys("document").ready(function() { 
      _rys(window).scroll(function() { 
       if (_rys(this).scrollTop() >100) { 
        _rys('.navbar').addClass("f-nav"); 
        _rys('.discoverSection').addClass("f-nav2"); 
        $('.tabsection').css('display','block'); 
       } else { 
        _rys('.navbar').removeClass("f-nav"); 
        _rys('.discoverSection').removeClass("f-nav2"); 
        $('.tabsection').css('display','none'); 
       } 
      }); 
     }); 

오류를 받고있는 라인은 다음과 같습니다 :

$(document).ready(function(){ 

이렇게, 나는 즉, 스크롤 다루고있는 몇 JS 오류를 얻고있다
$('.tabsection').css('display','block'); 

"Uncaught TypeError : undefined is not function"오류가 발생합니다.

이상하게도이 둘은 JQuery 1.4.4와 완벽하게 작동합니다.

+0

"jQuery.noConflict();"와 관련이 있습니까? ? (http://api.jquery.com/jquery.noconflict/) – Fiddles

+0

'$'대신'jQuery'를 사용하고 시도해보십시오. –

답변

0

이 줄 의심 :

var _rys = jQuery.noConflict(); 

는 해당 코드를 제거$ 정의되므로 $이 실패 사용 후속 번호.

두 가지 버전의 jQuery를 동시에로드해야하거나 $을 정의하는 다른 라이브러리를 사용하는 경우 다른 것을 의미하는 경우에만 jQuery.noConflict()을 사용해야합니다. (.noConflict() 실제로 $의 이전 정의를 복원되지만 오류에서 당신은 더 이전 $ 없었다 것 같습니다 받았다.) 당신이 그 특별한 상황 중 하나를 처리하지 않는 가정

, 단순히 완전히 noConflict 줄을 제거하고, _rys의 모든 인스턴스를 $으로 변경하십시오.

관련 문제