Javascript/jQuery

$(window).on("scroll resize", function(){..}); & 콜백함수

breeghty 2022. 11. 3. 13:31

1. 콜백함수(callback)

  • 나중에 호출되는 함수.
  •  특정 이벤트 발생시, 혹은 특정 시점에 도달했을 시에 시스템에서 호출하는 함수이다.
/*jquery*/

$(document).on('click', 'a[href="#"]', function(e){
    e.preventDefault();
});

위 코드는 문서에서 href 속성값이 #인 a태그를 클릭'할 때마다' 다음과 같은 함수를 호출하겠다는 의미이다. 이 경우 function은 콜백함수가 된다.

 

//Javascript
window.addEventListener('resize', function(){
	console.log('resize event!');
    if (window.innerWidth <= 800) {
      alert('현재 브라우저 크기가 <= 800px');
    }
});
 
 
//jQuery
$(window).on('resize', function(){
	console.log('resize event!');
    if (window.innerWidth <= 800) {
      alert('현재 브라우저 크기가 <= 800px');
    }
});

 

2. fixGallery 실습

 

1) script 오류

 

스크롤 내릴시 감춰졌던 텍스트가 나타나고, 텍스트가 고정된 채로 갤러리가 움직이는 형태

 

$(function(){
    var scrollNum = $(document).scrollTop();
  alert(scrollNum);
    
    if(scrollNum > 300){
        $(".gallery .inner .bottomBox .left p.img").addClass('on');
    }
    
 });

처음에 이런식으로 짰는데 작동이 안돼서 당황스러웠다. scrollNum 변수에 scrollTop()으로 스크롤을 내렸을시 수직위치를 할당시키고, 스크롤 위치가 300을 넘어가면 text에 on 클래스를 붙여 opacity:0 을 1로 만들어 주는 코드.

 

2) 문제점

$function만 입력하는 것이 아니라 $(window).on("scroll resize",function 코드를 추가해야 한다. 내가 짠 코드 경우는 윈도우 창을 스크롤하여 사이즈를 다시 조정할 때 콜백함수를 호출한다'는 식이 없었기 때문에 오류가 발생함.

$(window).on("scroll resize", function(){
    var scrollNum= 0;
    scrollNum = $(document).scrollTop();
    // alert(scrollNum);

    if(scrollNum > 300){
        $(".gallery .inner .bottomBox .left p.img").addClass('on');
        }
    else{
        $(".gallery .inner .bottomBox .left p.img").removeClass('on');
    }
    if(scrollNum >3347){
        $(".gallery .inner .bottomBox .left p.img").removeClass('on');
        }
    

});

이렇게 고쳐주면 제대로 실행된다.

 

 

 

Javascript - 콜백함수(Callback function)이란?

들어가기Callback 함수를 모르지는 않는다. 하지만 잘 안다고 말할수도 없다.요즘 Node, Vue 등을 공부하면서 callback 함수의 진화형인 Promise, async 등을 접했고 곧 벽에 막혔다.이 글을 통해 Javascript cal

www.hanumoka.net

<참고>

https://www.hanumoka.net/2018/10/24/javascript-20181024-javascript-callback/

'Javascript > jQuery' 카테고리의 다른 글

swiper갤러리  (0) 2022.11.22
swiper.js 사용법  (0) 2022.11.22
scroll시 header 변화  (0) 2022.11.22
마우스 휠 좌우 스크롤  (0) 2022.11.22
swiper plugin/ parallax plugin / triger 참고자료  (0) 2022.11.03