아래와 같이 스크롤 플러그인을 만들엇는데요..
t.top 에서 오류가 발생이 되는데,, 왜그런가요 ? 작동은 되는데..흠
Uncaught TypeError: Cannot read property 'top' of undefined
이렇게 뜨네요..흠
Copy
$.fn.fixed =function($on,$b){ var t = this.offset();var p = 50; var a =this $(window).scroll(function () { if ($(this).scrollTop() > t.top - p) { a.addClass('fixed'); if($on){ a.addClass('on',$b); } } else { a.removeClass('fixed'); if($on){ a.removeClass('on',$b); } }});}
답변 2개 / 댓글 2개
채택된 답변
+20 포인트
var t = this.offset();
console.log( t );
라고 찍어보셔서, t 가 어떻게 나오는지 디버깅 하셔야 합니다.
var t = $(this).offset();
이렇게도 해보세요.
답변에 대한 댓글 1개
11년 전
11년 전
Copy
$.fn.fixed = function($on,$b){ var a = $('#아이디명'); $(window).scroll(function () { if ($(window).scrollTop() > a.offset().top - 50) { a.addClass('fixed'); if($on) a.addClass('on',$b); } else { a.removeClass('fixed'); if($on) a.removeClass('on',$b); } });}
답변에 대한 댓글 1개
답변을 작성하려면 로그인이 필요합니다.
원래 $(this) 로햇엇는데.. 어느 글에서 여기서$(this)는 $($(this)) 를 가르킨다고하드라고요.. 그래서 this로 변경한건데..그전도 ㅠㅠ 같은 에러가 생겻엇어요...........
흠..............................ㅠㅠㅠ