2026, 새로운 도약을 시작합니다.

제이쿼리,자바스크립트 초보 if문 질문합니다 채택완료

풀페이지로 홈페이지를 제작하고 있습니다.

section1에서는 햄버거메뉴를 누를시 header가 투명, 햄버거 버튼이 white만 출력이 되면되고

그 이외 section2부터는 햄버거 버튼을 안누를시 header가 white, 햄버거버튼이black

햄버거 버튼을 누를시 header가 투명, 햄버거버튼이 white 가 되면되는 조건으로 제이쿼리구문을 작성했는데

2페이지 이외에서 작동이 잘되다가 안되다가해서요 혹시 제가 구문을 잘못작성했다면 알려주세요.

Copy


    

        $(document).ready(function() {

    // fullpage

    $('#fullpage').fullpage({    

        autoScrolling: true,

        scrollHorizontally: true,

        bigSectionsDestination: top,    

        anchors: ['sec1', 'sec2', 'sec3'],

        menu: '#menu',

        scrollingSpeed: 1000,

        scrollBar: false,

        onLeave: function(origin, destination, direction) {

        // 빠른전환으로 이벤트중복시 fullpage와 swiper전환시점 분리막기

        $('#fullpage').on('scroll touchmove mousewheel', function(event) {                    

            event.preventDefault();

            event.stopPropagation();

            return false;

        });

        swiper.mousewheel.disable();

        },

        afterLoad: function(anchorLink, index) {

           

            // TODO: 2022-12-16 페이지별 콜백

           

            var url='../images/logowe.png';

            if (index == 1){ // 1페이지

                var url='../images/logow.png';

                $('.gnb').find('a').css('color', '#fff');

                $('#header').css('background-color','transparent');

                $('.hamburger_menu span').css('background-color','white');

                $('.logo').html(``);

                $('.hamburger_menu').click(function() {

                var clicks = $(this).data('clicks');

                if (clicks) {$('#header').css('background-color','transparent');

                            $('.hamburger_menu span').css('background-color','white');

                // odd clicks

                } else {$('#header').css('background-color','transparent');

                $('.hamburger_menu span').css('background-color','white');

                // even clicks

                }

                });                

            } else {

               var url='../images/logowe.png';

                $('.gnb').find('a').css('color', '#000');

                $('#header').css('background-color','white','transition:0.1s');

                $('.hamburger_menu span').css('background-color','black');

                $('.logo').html(``);

                $('.hamburger_menu').click(function() {

                var clicks = $(this).data('clicks');

                if (clicks) {$('#header').css('background-color','white');

                            $('.hamburger_menu span').css('background-color','black');

                // odd clicks

                } else {$('#header').css('background-color','transparent');

                $('.hamburger_menu span').css('background-color','white');

                // even clicks

                }

                });                  

            }

            // 전환이 끝난후 이벤트풀기

            $('#fullpage').off('scroll mousewheel');

            if(!$(".fp-completely .swiper-wrapper").length > 0) $('#fullpage').off('touchmove'); // 모바일분기

            if(swiper) swiper.mousewheel.enable();

            if(!$(".sec1").hasClass("active")) $.fn.fullpage.setAllowScrolling(true); // 슬라이드 섹션을 벗어나면 휠풀어주기

            }

        });  

        // swiper

        var length = $(".sec1 .swiper-slide").length;

        var swiper = new Swiper('.swiper-container', {

        slidesPerView: 1,

        spaceBetween: 0,

        effect:'fade',

        freeMode: false,

        speed: 3000,

        // 3초마다 자동으로 슬라이드가 넘어갑니다. 1초 = 1000

        autoplay: {

        delay: 3000,

        },

        navigation : {

            nextEl : '.swiper-button-next', // 다음 버튼 클래스명

            prevEl : '.swiper-button-prev', // 이번 버튼 클래스명

        },

        pagination: {

        el: '.swiper-pagination',

        clickable: true,

        },

        mousewheel: false,

        on: {

        slideChange: function(){        

            var idx = this.activeIndex;

            // 처음과 마지막 슬라이드가 아닐경우 fullpage전환 막기

            if(this.activeIndex != 0 && idx != length) $.fn.fullpage.setAllowScrolling(false);

            if(length == 2 && idx == 0) $.fn.fullpage.setAllowScrolling(false) //슬라이드가 2개밖에 없을때

            // console.log('즉시 : ' + idx);

        },  

        slideChangeTransitionEnd: function(){

            var idx = this.activeIndex;

            // 처음과 마지막 슬라이드일 경우 fullpage전환 풀기

            if(idx == 0 || idx >= length-1) $.fn.fullpage.setAllowScrolling(true);

            // console.log('전환후 : ' + idx);    

        },

        touchMove: function(e) {        

            var startY = e.touches.startY;

            setTimeout(function(){

            if(startY > e.touches.currentY) swiper.slideNext();  

            else swiper.slidePrev();

            },100);        

        },

        },

    });            

    });

    

답변 1개

채택된 답변
+20 포인트
Copy


} else {

    var url='../images/logowe.png';

    $('.gnb').find('a').css('color', '#000');

    $('#header').css('background-color','white','transition:0.1s');

    $('.hamburger_menu span').css('background-color','black');

    $('.logo').html(``);

    $('.hamburger_menu').click(function() {

    var clicks = $(this).data('clicks');

    if (clicks) {

        $('#header').css('background-color','transparent');

        $('.hamburger_menu span').css('background-color','white');

        // odd clicks

    } else {

        $('#header').css('background-color','white');

        $('.hamburger_menu span').css('background-color','black');

        // even clicks

    }

    });                        

}

클릭에 반응하는 if문 구간이 반대로 되어 있어서 그런건 아닐까요?

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

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

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

로그인
🐛 버그신고