πŸ“„ andar

μ΅œμ€€ν˜„Β·2022λ…„ 7μ›” 25일
0
post-thumbnail
μ œμž‘κΈ°κ°„ 22.06.06 ~ 22.06.08 (3일 μ†Œμš”)
μ‚¬μš© μ–Έμ–΄ html, css, jquery
μ‚¬μš© ν”ŒλŸ¬κ·ΈμΈ swiper
λΆ„λ₯˜ pc, mobile, 클둠코딩


βœ” λ™μΌν•œ λ ˆμ΄μ•„μ›ƒ


πŸ’¬ μ œμž‘ν•˜κΈ° μ „, μ‚¬μ΄νŠΈ 내에 컨텐츠듀이 λΉ„μŠ·ν•œ λ ˆμ΄μ•„μ›ƒμ΄ λ§Žμ•„μ„œ κ³΅ν†΅μœΌλ‘œ htmlκ³Ό cssλ₯Ό 작으면 νŽΈν•˜κ³  μ‹ μ†ν•˜κ²Œ μž‘μ—…μ„ ν•  수 μžˆμ„ 것 κ°™μ•„μ„œ κ³΅ν†΅λœ class둜 μ„€μ •ν•˜μ—¬ μ œμž‘μ„ ν•˜μ˜€μŠ΅λ‹ˆλ‹€

.txt-box {
    font-size: 13px;
    font-weight: 400;
    line-height: 13px;
    padding: 15px 0 0 5%;
}
.txt-box .review {
    font-weight: 600;
    color: #8e1f29;
}
.txt-box .link-item {
    display: block;
    padding: 10px 0;
}
.txt-box .price {
    font-size: 15px;
    line-height: 16px;
    font-weight: 500;
}
.txt-box .price .discount {
    margin-right: 5px;
    color: #8e1f29;
}
.txt-box .price .line-through {
    margin-left: 5px;
    font-size: 13px;
    font-weight: 400;
    text-decoration: line-through;
    color: #8d8d8d;
}
.txt-box .color {
    font-size: 13px;
    font-weight: 500;
    line-height: 11px;
    letter-spacing: -0.05em;
    padding-top: 9px;
    color: #999;
}
.txt-box .color::after {
    content: '컬러';
    margin-left: 2px;
}



βœ” dimmed



πŸ’¬ μœ„ 사진과 같이 ν™œμ„±ν™” 된 μ°½ μ•„λž˜μ— μžˆλŠ” 컨텐츠듀은 μ–΄λ‘‘κ²Œ μ„€μ •ν•˜λŠ”, ν”νžˆ dimmed 라고 λΆˆλ¦¬μš°λŠ” μš”μ†Œλ₯Ό andarλŠ” μ μš©ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.


πŸ–Š ν™œμ„±ν™” 된 μ°½ 밖을 ν΄λ¦­ν•˜λ©΄ μ°½ λ‹«κΈ°

πŸ’¬ 보톡 dimmedλ₯Ό μ μš©ν•œ λΆ€λΆ„μ—μ„œ ν™œμ„±ν™” 된 창을 μ œμ™Έν•œ 곳을 ν΄λ¦­ν•˜κ²Œ 되면 μžλ™μœΌλ‘œ κ·Έ 창이 λ‹«νžˆλ©΄μ„œ λ‹€μ‹œ μ›μƒνƒœλ‘œ λŒμ•„κ°€λŠ” ν˜•νƒœλ₯Ό 띄고 μžˆμŠ΅λ‹ˆλ‹€.

πŸ“Œ menuClose() ν•¨μˆ˜ λ§Œλ“€κΈ°

    function menuClose() {
        $('.menu-wrap2').removeClass('active')
        $('body').removeClass('not-scroll')
    }

πŸ’¬ λ¨Όμ € 창을 닫을 수 μžˆλ„λ‘ menuClose() ν•¨μˆ˜λ₯Ό λ§Œλ“€μ—ˆμŠ΅λ‹ˆλ‹€. 그리고 κ·Έ ν•¨μˆ˜ μ•ˆμ— 메뉴 μ°½ 클래슀인 menu-wrap2에 activeλ₯Ό μ œκ±°ν•΄μ„œ 창을 닫도둝 ν•΄μ£Όκ³ , 메뉴 창이 μ—΄λ €μžˆμ„ λ•Œ body에 슀크둀이 걸리지 μ•Šκ²Œ λ§Œλ“€μ–΄μ€€ 클래슀인 not-scroll도 제거 ν•΄μ£Όμ—ˆμŠ΅λ‹ˆλ‹€.

πŸ“Œ menuClose() 적용

    $('.menu-wrap2 .btn-close').click(function () {
        menuClose();
    })

πŸ’¬ 일단 메뉴창에 μžˆλŠ” close λ²„νŠΌμ„ ν΄λ¦­ν•˜λ©΄ 창이 λ‹«ν˜€μ•Ό ν•˜λ―€λ‘œ menuClose()ν•¨μˆ˜λ₯Ό λ„£μ–΄μ£Όμ—ˆμŠ΅λ‹ˆλ‹€.

πŸ“Œ e.target을 μ΄μš©ν•œ menuClose() 적용

	$('body').click(function (e) {
      if (!$(e.target).parents().hasClass('menu-wrap2') && !$(e.target).hasClass('ic-menu')) {
              menuClose();
      }
  })

πŸ’¬ 메뉴 창을 μ œμ™Έν•œ 곳을 클릭해도 창이 λ‹«ν˜€μ•Ό ν•˜κΈ° λ•Œλ¬Έμ— e.target을 μ΄μš©ν•΄μ„œ ν΄λ¦­ν•œ 곳에 νƒ€κ²Ÿμ„ ν™•μΈν•©λ‹ˆλ‹€. κ·Έ 곳의 μ΅œμ’… λΆ€λͺ¨κ°€ 메뉴창 클래슀인 menu-wrap2라면 menuClose()ν•¨μˆ˜λ₯Ό μ μš©ν•˜κ²Œ ν•©λ‹ˆλ‹€.
단, 메뉴 μ•„μ΄μ½˜μ„ λˆŒλ €μ„ λ•Œλ„ menu-wrap2의 νƒ€κ²Ÿμ΄ λ˜μ§€ μ•Šμ•„μ„œ 메뉴창이 λ‹«νžˆλŠ” ν•¨μˆ˜κ°€ 적용되기 λ•Œλ¬Έμ— e.target이 메뉴 μ•„μ΄μ½˜ 클래슀인 ic-menuλ₯Ό ν΄λ¦­ν•˜μ§€ μ•Šμ„ λ•Œ λ‹«νžˆλ„λ‘ 쑰건을 ν¬ν•¨μ‹œμΌ°μŠ΅λ‹ˆλ‹€.

if ($(e.target).parent().hasClass('search-form')) {
    $('label').addClass('dp-no');
} else {
    $('label').removeClass('dp-no');
}
// dp-no = display:none

πŸ’¬ λ§ˆμ°¬κ°€μ§€λ‘œ κ²€μƒ‰μ°½μ—μ„œλ„ "검색어λ₯Ό μž…λ ₯ν•΄μ£Όμ„Έμš”"λΌλŠ” 라벨을 search-form μ•ˆμ— ν΄λ¦­ν•˜λ©΄ display:none으둜 μ‚¬λΌμ§€κ²Œ ν•˜κ³  밖을 ν΄λ¦­ν•˜λ©΄ λ‹€μ‹œ λ‚˜νƒ€λ‚˜κ²Œ ν‘œν˜„ν•˜μ˜€μŠ΅λ‹ˆλ‹€.



βœ” μŠ€ν¬λ‘€μ— μ˜ν•œ quick λ²„νŠΌ


πŸ’¬ andarμ—μ„œλŠ” 사진에 λ³΄μ΄λŠ” quickλ²„νŠΌμ΄ scrollTop: 0일 λ•Œμ™€ μŠ€ν¬λ‘€μ„ 내릴 λ•Œ μ•ˆλ³΄μ΄κ²Œ ν•˜κ³ , μŠ€ν¬λ‘€μ„ 올리면 보이게 λ§Œλ“€μ—ˆμŠ΅λ‹ˆλ‹€.

πŸ“Œ scroll up/down 감지

πŸ’¬ 슀크둀 up/down에 따라 μ»¨ν…μΈ μ˜ μƒνƒœκ°€ λ°”λ€Œλ―€λ‘œ 슀크둀 up/down을 κ°μ§€ν•˜λŠ” μ½”λ“œλ₯Ό λ§Œλ“€μ—ˆμŠ΅λ‹ˆλ‹€.

  $(window).scroll(function () {
      var curr_scroll = $(window).scrollTop();
  })

πŸ’¬ λ¨Όμ € ν˜„μž¬ 슀크둀 curr_scroll λ³€μˆ˜λ₯Ό λ§Œλ“€μ–΄ 슀크둀 ν•  λ•Œ λ§ˆλ‹€ scrollTop()을 μ΄μš©ν•˜μ—¬ ν˜„μž¬ μŠ€ν¬λ‘€μ„ μ €μž₯ν•˜κ²Œ λ§Œλ“€μ—ˆμŠ΅λ‹ˆλ‹€.

var last_scroll = 0;
$(window).scroll(function () {
    var curr_scroll = $(window).scrollTop();
    if (curr_scroll > last_scroll || $(window).scrollTop() == 0) {
        $('.quick').fadeOut(500);
    } else {
        $('.quick').fadeIn(500);
    }
    last_scroll = curr_scroll;
})

πŸ’¬ last-scroll λ³€μˆ˜λ₯Ό λ§Œλ“€κ³  0으둜 μ΄ˆκΈ°ν™” ν›„, ν˜„μž¬ 슀크둀이 λ‚˜μ€‘ μŠ€ν¬λ‘€λ³΄λ‹€ ν¬κ±°λ‚˜ scrollTop이 0이면 quickλ²„νŠΌμ„ fadeOutν•˜μ˜€κ³ ,κ·Έ λ°˜λŒ€λ©΄ fadeIn을 ν•˜μ˜€μŠ΅λ‹ˆλ‹€.
κ·Έ ν›„, last_scroll에 ν˜„μž¬ 슀크둀인 curr_scroll 값을 λ‹΄μ•„μ„œ 슀크둀둜 quickλ²„νŠΌμ„ 컨트둀 ν•  수 있게 μ™„μ„±ν•˜μ˜€μŠ΅λ‹ˆλ‹€!

0개의 λŒ“κΈ€