테스트 사이트 - 개발 중인 베타 버전입니다

제이쿼리 플러그인 만들엇는데..오류 좀 봐주세요~! 채택완료

유우니얌 11년 전 조회 9,728

아래와 같이 스크롤 플러그인을 만들엇는데요..

t.top 에서 오류가 발생이 되는데,, 왜그런가요 ? 작동은 되는데..흠

Uncaught TypeError: Cannot read property 'top' of undefined 

 

이렇게 뜨네요..흠​

 

</p><p>$.fn.fixed =function($on,$b){ </p><p>var t = this.offset();</p><p>var p = 50;</p><p>  var a =this</p><p> </p><p>$(window).scroll(function () {</p><p>    if ($(this).scrollTop() > t.top - p) {</p><p>       a.addClass('fixed');</p><p>       if($on){</p><p>           a.addClass('on',$b);</p><p>       }</p><p>    } else {</p><p>        a.removeClass('fixed');</p><p>        if($on){</p><p>           a.removeClass('on',$b);</p><p>       }</p><p>    }</p><p>});</p><p>}</p><p> </p><p>

 

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
thisgun
11년 전

var t = this.offset();

 

console.log( t );

 

라고 찍어보셔서, t 가 어떻게 나오는지 디버깅 하셔야 합니다.

 

var t = $(this).offset();

이렇게도 해보세요.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

유우니얌
11년 전
안녕하세요~!
원래 $(this) 로햇엇는데.. 어느 글에서 여기서$(this)는 $($(this)) 를 가르킨다고하드라고요.. 그래서 this로 변경한건데..그전도 ㅠㅠ 같은 에러가 생겻엇어요...........

흠..............................ㅠㅠㅠ

댓글을 작성하려면 로그인이 필요합니다.

11년 전

</p><p>$.fn.fixed = function($on,$b){ </p><p><span class="Apple-tab-span" style="white-space:pre">	</span>var a = $('#아이디명'); </p><p><span class="Apple-tab-span" style="white-space:pre">	</span>$(window).scroll(function () {</p><p><span class="Apple-tab-span" style="white-space:pre">		</span>if ($(window).scrollTop() > a.offset().top - 50) {</p><p><span class="Apple-tab-span" style="white-space:pre">		</span>   a.addClass('fixed');</p><p><span class="Apple-tab-span" style="white-space:pre">		</span>   if($on) a.addClass('on',$b);<span class="Apple-tab-span" style="white-space:pre">		</span>   </p><p><span class="Apple-tab-span" style="white-space:pre">		</span>} else {</p><p><span class="Apple-tab-span" style="white-space:pre">			</span>a.removeClass('fixed');</p><p><span class="Apple-tab-span" style="white-space:pre">			</span>if($on) a.removeClass('on',$b);<span class="Apple-tab-span" style="white-space:pre">		</span>   </p><p><span class="Apple-tab-span" style="white-space:pre">		</span>}</p><p><span class="Apple-tab-span" style="white-space:pre">	</span>});</p><p>} </p><p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

유우니얌
11년 전
안녕하세요~!

플러그인으로 쓸거라서........아이디명을 쓸수가 ㅠㅠ...없는데...

흠...

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인