해당코드 더 짧게 할 수 있는 방법 있을까요?

해당코드 더 짧게 할 수 있는 방법 있을까요?

QA

해당코드 더 짧게 할 수 있는 방법 있을까요?

답변 1

본문

 $(document).ready(function() {

        $(window).scroll( function(){

               

            $('.mb-pick-wrap').each( function(){

               

                var mb_pick_wrap = $(this).offset().top + $(this).outerHeight() / 5;

                var bottom_of_window = $(window).scrollTop() + $(window).height();

               

                if( bottom_of_window > mb_pick_wrap ){

                    $(this).animate({'opacity':'1'},800);

                }

               

            });

 

            $('.Dr_fixed_Bg').each( function(){

               

                var Dr_fixed_Bg = $(this).offset().top + $(this).outerHeight() / 5;

                var bottom_of_window = $(window).scrollTop() + $(window).height();

               

                if( bottom_of_window > Dr_fixed_Bg ){

                    $(this).animate({'opacity':'1'},800);

                }

               

            });

 

            $('.other-site-move').each( function(){

               

                var other_site_move = $(this).offset().top + $(this).outerHeight() / 5;

                var bottom_of_window = $(window).scrollTop() + $(window).height();

               

                if( bottom_of_window > other_site_move ){

                    $(this).animate({'opacity':'1'},800);

                }

               

            });

        });

    });

 

클래스명만 다를뿐 나머지 효과는 같은데 더 코드를 짧게 할 수 있는 방법 있을까요?

이 질문에 댓글 쓰기 :

답변 1

공통 클래스 하나 주시고

예를들어 

 

<div class='mb-pick-wrap set_class'></div>

<div class='Dr_fixed_Bg set_class'></div>

<div class='other-site-move set_class'></div>

 

이런식으로 set_class 라는 공통 클래스를 선언하면

아래처럼 될듯한데요.

 


$(document).ready(function() {
 
        $(window).scroll( function(){
            $('.set_class').each( function(){
                var target_cls = $(this).offset().top + $(this).outerHeight() / 5;
                var bottom_of_window = $(window).scrollTop() + $(window).height();
                if( bottom_of_window > target_cls ){
                    $(this).animate({'opacity':'1'},800);
                }
            });
 
        });
 
    });
답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 1,020
© SIRSOFT
현재 페이지 제일 처음으로