[JavaScript] ๐Ÿ’Œ ์—ฌ๋Ÿฌ ์„ ํƒ์ง€ ์ค‘ ํ•˜๋‚˜๋ฅผ ํด๋ฆญ ํ•  ๋•Œ ํšจ๊ณผ์ฃผ๊ธฐ

์ „์ฃผ์€ยท2022๋…„ 12์›” 24์ผ
2
post-thumbnail

โœ” ํ˜‘์—…์„ ์œ„ํ•œ ๊ฐœ๋ฐœ๊ฐ€์ด๋“œ๋กœ ํŒ€์›์„ ์œ„ํ•ด ์ž‘์„ฑํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค.

โ› ๋ฐฉ๋ฒ•1: ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ™”์‚ดํ‘œ ํ•จ์ˆ˜

๐Ÿ‘€ ์›๋ฆฌํŒŒ์•…

  1. ์—ฌ๊ธฐ ์„ ํƒ์ง€๋“ค์ด ์žˆ๋‹ค!
<ul class="select_list">
	<li class="select_item">1</li>
    <li class="select_item">2</li>
    <li class="select_item">3</li>
    <li class="select_item">4</li>
</ul>
  1. ํด๋ฆญ์‹œ ์ค„ ํšจ๊ณผ๋ฅผ css์— ์ €์žฅํ•ด๋‘”๋‹ค! (active๋ผ๋Š” ํด๋ž˜์Šค์— ํšจ๊ณผ๋ฅผ ๋„ฃ์—ˆ๋‹ค!)
.select_item.active{
    border-color: #222;
}

.buy_before .select_item:not(.active){
    border-color: #ebebeb;
}

์ด์ œ ํด๋ฆญํ•˜๋ฉด ํด๋ฆญํ•œ ์• ๋งŒ activeํด๋ž˜์Šค๋ฅผ ์ถ”๊ฐ€ํ•ด์ค„๊ฑฐ๋‹ค! ๊ทธ๋Ÿฌ๋ฉด ํšจ๊ณผ๊ฐ€ ์ ์šฉ๋˜๋‹ˆ๊นŒ!
4. ์„ ํƒ์ง€๋“ค์„ ๋ชจ๋‘ ๊ฐ€์ ธ์™€ ์ด๋ฒคํŠธ๋ฅผ ๋“ฑ๋กํ•ด์ค€๋‹ค.
5. ๊ทธ ์ด๋ฒคํŠธ๋Š” active๋ผ๋Š” class๋ฅผ remove์‹œํ‚ค๋Š” ๊ฒƒ!
(ํ•˜๋‚˜๋งŒ ์„ ํƒ๋˜์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐ์กด์— ์žˆ๋˜ active ํด๋ž˜์Šค๊ฐ€ ์žˆ๋‹ค๋ฉด ์ง€์›Œ์ค˜์•ผ ํ•œ๋‹ค.)
6. ๊ทธ๋ฆฌ๊ณ  ๋‚˜์„œ ํด๋ฆญํ•œ ๊ทธ ์•„์ด๋งŒ class๋ฅผ add์‹œํ‚จ๋‹ค!
7. ๋‚˜๋Š” ์ถ”๊ฐ€ ํšจ๊ณผ๋กœ ์„ ํƒ์‹œ ๋ฒ„ํŠผ ํ•˜๋‚˜๋ฅผ ํ™œ์„ฑํ™” ์‹œํ‚ฌ๊ฑฐ๋‹ค! display๋ฅผ block์œผ๋กœ ๋ฐ”๊ฟ”์ค„๊ฑฐ๋‹ค.

<div class="order_btn_area" style="display: none;" id="next">

๐ŸŽƒ ํ•„์š”ํ•œ ๊ฐœ๋…

  1. [javascript]์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ
    ์ฐธ๊ณ : https://nevertrustbrutus.tistory.com/310
  2. [css] ์„ ํƒ์ž
    ์ฐธ๊ณ : https://webty.tistory.com/60
  3. [javascript] document ๊ฐ์ฒด์˜ ๋ฉ”์†Œ๋“œ
    ์ฐธ๊ณ : http://www.tcpschool.com/javascript/js_dom_document
  4. [jquery ๋ฌธ๋ฒ•]
    ์ฐธ๊ณ : https://soft91.tistory.com/9

์˜ˆ์ œ (buyselect.html buyselect.css buyselect.js)

//์„ ํƒ์ง€๋ฅผ ๋ชจ๋‘ ๊ฐ€์ ธ์˜จ๋‹ค
const items = document.querySelectorAll(".select_item");
//๋ฐฐ์—ด๋กœ ์ €์žฅ๋˜๊ธฐ ๋•Œ๋ฌธ์— forEach๋กœ ํ•˜๋‚˜์”ฉ ์ด๋ฒคํŠธ๋ฅผ ๋“ฑ๋กํ•ด์ค€๋‹ค.
items.forEach((item)=>{
    item.addEventListener('click',()=>{
        items.forEach((e)=>{
          //ํ•˜๋‚˜๋งŒ ์„ ํƒ๋˜๋„๋ก ๊ธฐ์กด์˜ ํšจ๊ณผ๋ฅผ ์ง€์›Œ์ค€๋‹ค.
            e.classList.remove('active');
        })
      // ์„ ํƒํ•œ ๊ทธ ์•„์ด๋งŒ ํšจ๊ณผ๋ฅผ ์ถ”๊ฐ€ํ•ด์ค€๋‹ค.
        item.classList.add('active');
      // ์„ ํƒ์„ ํ•˜๋ฉด ๋‹ค์Œ์œผ๋กœ ๋„˜์–ด๊ฐˆ ์ˆ˜ ์žˆ๋Š” ๋ฒ„ํŠผ์ด ํ™œ์„ฑํ™” ๋˜๋„๋ก ํ•œ๋‹ค.
        document.getElementById('next').style.display='block';
    })
})

โ› ๋ฐฉ๋ฒ•2: jQuery

๐Ÿ‘€ ์›๋ฆฌํŒŒ์•…

์œ„์™€ ๋™์ผํ•˜๋‹ค.

๐ŸŽƒ ํ•„์š”ํ•œ ๊ฐœ๋…

์œ„์™€ ๋™์ผํ•˜๋‹ค.

์˜ˆ์ œ

//jquery๋Š” ํ•œ๋ฒˆ์— click ์ด๋ฒคํŠธ ๋“ฑ๋ก์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
$(".select_item").click(function(){
$(".select_item").removeClass("active");
  //this๋Š” ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•˜๊ฒŒ ๋งŒ๋“  ๊ทธ ํด๋ฆญํ•œ ์š”์†Œ๋‹ค!
$(this).addClass("active");//๊ทธ ์š”์†Œ์—๊ฒŒ ํšจ๊ณผ์ฃผ๊ณ 
$("#next").css("display","block")//๋ฒ„ํŠผ๋„ ๋ณด์ด๊ฒŒ ๋งŒ๋“ค์–ด์ค€๋‹ค.
}); 

1๊ฐœ์˜ ๋Œ“๊ธ€

comment-user-thumbnail
2023๋…„ 11์›” 2์ผ

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ๋•๋ถ„์— ํ—ค๋งค๊ณ  ์žˆ๋˜ ์ฝ”๋“œ๋ฅผ ์‰ฝ๊ฒŒ ํ’€์–ด๋‚˜๊ฐ”์–ด์š”

๋‹ต๊ธ€ ๋‹ฌ๊ธฐ

๊ด€๋ จ ์ฑ„์šฉ ์ •๋ณด