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

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

QA

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

답변 2

본문

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

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

Uncaught TypeError: Cannot read property 'top' of undefined 

 

이렇게 뜨네요..흠​

 


$.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

var t = this.offset();

 

console.log( t );

 

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

 

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

이렇게도 해보세요.

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

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


$.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);		   
		}
	});
} 
답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 119
© SIRSOFT
현재 페이지 제일 처음으로