제이쿼리,자바스크립트 초보 if문 질문합니다 채택완료
풀페이지로 홈페이지를 제작하고 있습니다.
section1에서는 햄버거메뉴를 누를시 header가 투명, 햄버거 버튼이 white만 출력이 되면되고
그 이외 section2부터는 햄버거 버튼을 안누를시 header가 white, 햄버거버튼이black
햄버거 버튼을 누를시 header가 투명, 햄버거버튼이 white 가 되면되는 조건으로 제이쿼리구문을 작성했는데
2페이지 이외에서 작동이 잘되다가 안되다가해서요 혹시 제가 구문을 잘못작성했다면 알려주세요.
</p>
<p> <script></p>
<p> $(document).ready(function() {</p>
<p> // fullpage</p>
<p> $('#fullpage').fullpage({ </p>
<p> autoScrolling: true,</p>
<p> scrollHorizontally: true,</p>
<p> bigSectionsDestination: top, </p>
<p> anchors: ['sec1', 'sec2', 'sec3'],</p>
<p> menu: '#menu',</p>
<p> scrollingSpeed: 1000,</p>
<p> scrollBar: false,</p>
<p> onLeave: function(origin, destination, direction) {</p>
<p> // 빠른전환으로 이벤트중복시 fullpage와 swiper전환시점 분리막기</p>
<p> $('#fullpage').on('scroll touchmove mousewheel', function(event) { </p>
<p> event.preventDefault();</p>
<p> event.stopPropagation();</p>
<p> return false;</p>
<p> });</p>
<p> swiper.mousewheel.disable();</p>
<p> },</p>
<p> afterLoad: function(anchorLink, index) {</p>
<p> </p>
<p> // TODO: 2022-12-16 페이지별 콜백</p>
<p> </p>
<p> var url='../images/logowe.png';</p>
<p> if (index == 1){ // 1페이지</p>
<p> var url='../images/logow.png';</p>
<p> $('.gnb').find('a').css('color', '#fff');</p>
<p> $('#header').css('background-color','transparent');</p>
<p> $('.hamburger_menu span').css('background-color','white');</p>
<p> $('.logo').html(`<img src='${url}'>`);</p>
<p> $('.hamburger_menu').click(function() {</p>
<p> var clicks = $(this).data('clicks');</p>
<p> if (clicks) {$('#header').css('background-color','transparent');</p>
<p> $('.hamburger_menu span').css('background-color','white');</p>
<p> // odd clicks</p>
<p> } else {$('#header').css('background-color','transparent');</p>
<p> $('.hamburger_menu span').css('background-color','white');</p>
<p> // even clicks</p>
<p> }</p>
<p> }); </p>
<p> } else {</p>
<p> var url='../images/logowe.png';</p>
<p> $('.gnb').find('a').css('color', '#000');</p>
<p> $('#header').css('background-color','white','transition:0.1s');</p>
<p> $('.hamburger_menu span').css('background-color','black');</p>
<p> $('.logo').html(`<img src='${url}'>`);</p>
<p> $('.hamburger_menu').click(function() {</p>
<p> var clicks = $(this).data('clicks');</p>
<p> if (clicks) {$('#header').css('background-color','white');</p>
<p> $('.hamburger_menu span').css('background-color','black');</p>
<p> // odd clicks</p>
<p> } else {$('#header').css('background-color','transparent');</p>
<p> $('.hamburger_menu span').css('background-color','white');</p>
<p> // even clicks</p>
<p> }</p>
<p> }); </p>
<p> }</p>
<p> // 전환이 끝난후 이벤트풀기</p>
<p> $('#fullpage').off('scroll mousewheel');</p>
<p> if(!$(".fp-completely .swiper-wrapper").length > 0) $('#fullpage').off('touchmove'); // 모바일분기</p>
<p> if(swiper) swiper.mousewheel.enable();</p>
<p> if(!$(".sec1").hasClass("active")) $.fn.fullpage.setAllowScrolling(true); // 슬라이드 섹션을 벗어나면 휠풀어주기</p>
<p> }</p>
<p> }); </p>
<p> // swiper</p>
<p> var length = $(".sec1 .swiper-slide").length;</p>
<p> var swiper = new Swiper('.swiper-container', {</p>
<p> slidesPerView: 1,</p>
<p> spaceBetween: 0,</p>
<p> effect:'fade',</p>
<p> freeMode: false,</p>
<p> speed: 3000,</p>
<p> // 3초마다 자동으로 슬라이드가 넘어갑니다. 1초 = 1000</p>
<p> autoplay: {</p>
<p> delay: 3000,</p>
<p> },</p>
<p> navigation : {</p>
<p> nextEl : '.swiper-button-next', // 다음 버튼 클래스명</p>
<p> prevEl : '.swiper-button-prev', // 이번 버튼 클래스명</p>
<p> },</p>
<p> pagination: {</p>
<p> el: '.swiper-pagination',</p>
<p> clickable: true,</p>
<p> },</p>
<p> mousewheel: false,</p>
<p> on: {</p>
<p> slideChange: function(){ </p>
<p> var idx = this.activeIndex;</p>
<p> // 처음과 마지막 슬라이드가 아닐경우 fullpage전환 막기</p>
<p> if(this.activeIndex != 0 && idx != length) $.fn.fullpage.setAllowScrolling(false);</p>
<p> if(length == 2 && idx == 0) $.fn.fullpage.setAllowScrolling(false) //슬라이드가 2개밖에 없을때</p>
<p> // console.log('즉시 : ' + idx);</p>
<p> }, </p>
<p> slideChangeTransitionEnd: function(){</p>
<p> var idx = this.activeIndex;</p>
<p> // 처음과 마지막 슬라이드일 경우 fullpage전환 풀기</p>
<p> if(idx == 0 || idx >= length-1) $.fn.fullpage.setAllowScrolling(true);</p>
<p> // console.log('전환후 : ' + idx); </p>
<p> },</p>
<p> touchMove: function(e) { </p>
<p> var startY = e.touches.startY;</p>
<p> setTimeout(function(){</p>
<p> if(startY > e.touches.currentY) swiper.slideNext(); </p>
<p> else swiper.slidePrev();</p>
<p> },100); </p>
<p> },</p>
<p> },</p>
<p> }); </p>
<p> });</p>
<p> </script></p>
<p>
댓글을 작성하려면 로그인이 필요합니다.
답변 1개
채택된 답변
+20 포인트
3년 전
</p>
<p>} 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(`<img src='${url}'>`);
$('.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
}
});
}</p>
<p>
클릭에 반응하는 if문 구간이 반대로 되어 있어서 그런건 아닐까요?
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인전체 질문 목록
답변대기
답변대기
답변대기
답변대기
답변대기
답변대기
답변대기
답변대기
채택
답변대기
답변대기
답변대기
답변대기
채택
채택
답변대기
답변대기
답변대기
채택