ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

์ด์ „ ์ƒํ™ฉ

์›ํ•˜๋Š” ์˜ํ™”๋ฅผ ๋”ฐ๋กœ ๋ชจ์•„๋ณผ ์ˆ˜ ์žˆ๋Š” '๋ถ๋งˆํฌ' ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๊ณ ์ž ํ•œ๋‹ค.

CSS๋„ ๊ณง ํ• ๊ฒ๋‹ˆ๋‹ท..!

 

์šฐ์„  ๋ถ๋งˆํฌ ๊ธฐ๋Šฅ์„ ํ•˜๊ณ ์ž ํ•จ์ˆ˜๋ฅผ ์ƒˆ๋กœ ๋งŒ๋“ค์—ˆ๋‹ค.

function addBookmark() {
  const bookmarkBtn = document.querySelector(".book");

  bookmarkBtn.addEventListener("click", function () {
    alert("๋ถ๋งˆํฌ");
  });
}

 

 

 

๋ฌธ์ œ ์ƒํ™ฉ

 

๊ทธ๋Ÿฌ๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ชจ๋‹ฌ์ฐฝ ๋‚ด์˜ ๋ถ๋งˆํฌ ์ถ”๊ฐ€ ๋ฒ„ํŠผ์— ์ ‘๊ทผํ•ด์•ผ ํ•˜๋Š”๋ฐ..

console.log๋„, alert๋„ ์•„๋ฌด ๋ฐ˜์‘ ์—†์Œ์— ์˜๋ฌธ์ ์ด ๋“ค์—ˆ๋‹ค.

 

โ“``์•ˆ์˜ ํƒœ๊ทธ์—๋Š” ์–ด๋–ป๊ฒŒ ์ ‘๊ทผํ•˜์ง€? 

 

์ด์ „์—๋Š” class๊ฐ€ close์ธ ๋‹ซ๊ธฐ์ฐฝ์—๋Š” ์ž˜ ์ ‘๊ทผํ–ˆ๋Š”๋ฐ

๊ทธ ์ด์œ ๋Š” ๋ชจ๋‹ฌ์ฐฝ ํ•จ์ˆ˜ ๋‚ด์— ๋‹ซ๊ธฐ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

๊ทธ๋Ÿผ ๋ถ๋งˆํฌ ๊ธฐ๋Šฅ๋„ ๋ชจ๋‹ฌ์ฐฝ ํ•จ์ˆ˜ ๋‚ด์— ์ž‘์„ฑํ•ด์•ผํ•˜๋‚˜..? ๋„ˆ๋ฌด ๊ธธ์–ด์งˆํ…๋ฐ..

ํ•˜๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค.

 

 ์œ„ํ•ด์„œ '์ด๋ฒคํŠธ ์œ„์ž„'์„ ์ ์šฉํ•ด์•ผ ํ–ˆ๋‹ค.

 

 

 

์ด๋ฒคํŠธ ์œ„์ž„์ด๋ž€?

 

์šฐ์„ , ์ด๋ฒคํŠธ ์œ„์ž„์ด๋ž€ ํ•œ ์˜์—ญ ๋‚ด์—์„œ ๊ฐ™์€ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ ์š”์†Œ ๋งˆ๋‹ค ์ด๋ฒคํŠธ๋ฆฌ์Šค๋„ˆ๋ฅผ ๋ถ™์ด๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ

๊ทธ ์ƒ์œ„ ํƒœ๊ทธ์˜ class๋ฅผ ์ง€์ •ํ•˜์—ฌ ์ด๋ฒคํŠธ๋ฅผ ์ง€์ •ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 

๐Ÿ“์‹ค์ œ ์ ์šฉ

์‚ฌ์‹ค ๊ทธ ์ „์—๋„ ์ด๋ฒคํŠธ ์œ„์ž„์„ ์ ์šฉํ–ˆ๋‹ค.

๋ฐ”๋กœ ์˜ํ™” ๋ฉ”์ธ ํŽ˜์ด์ง€์ธ๋ฐ,

์˜ํ™” ์นด๋“œ ํ•˜๋‚˜ํ•˜๋‚˜์— ์ด๋ฒคํŠธ๋ฅผ ๋ถ€์—ฌํ•œ ๊ฒƒ์ด ์•„๋‹Œ,

์˜ํ™” ์นด๋“œ ๋ฌถ์Œ(cardSection)์— ์ด๋ฒคํŠธ๋ฆฌ์Šค๋„ˆ๋ฅผ ๋ถ™์˜€๋‹ค.

 

์˜ํ™” ์นด๋“œ ๋ฌถ์Œ(cardSection)์˜ class๋Š” cards์ด๋ฉฐ

๐Ÿ‘‡๐Ÿปcards์— ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ๋ฅผ ๋ถ€์—ฌํ•œ ์ฝ”๋“œ๋ฅผ ์•„๋ž˜์ฒ˜๋Ÿผ ๊ตฌํ˜„ํ•˜์˜€๋‹ค.

const cardSection = document.querySelector(".cards");


cardSection.addEventListener("click", function (e) {
  const mvCard = e.target.closest(".mvCard");
  // console.log(mvCard);
  const cardID = mvCard.getAttribute("data-id");
  console.log(cardID);

  const clickModal = postArray.find(function (postArray) {
    return Number(postArray.id) === Number(cardID);
  });
  console.log(clickModal);
  displayModal(clickModal);
  modal.style.display = "block";
  document.body.style.overflow = "hidden";
});

 

 

 

๋ฌธ์ œ ํ•ด๊ฒฐ

 

์œ„์˜ ์ ์šฉ์ฒ˜๋Ÿผ ๋ชจ๋‹ฌ์ฐฝ ๋‚ด์— ์žˆ๋Š” ์š”์†Œ๋“ค(๋ถ๋งˆํฌ ๋ฒ„ํŠผ, ๋‹ซ๊ธฐ๋ฒ„ํŠผ)์—๊ฒŒ ์ด๋ฒคํŠธ ๋ฆฌ์Šค๋„ˆ๋ฅผ ๋ถ€์—ฌํ•˜์˜€๋‹ค.

 

๐Ÿ“Œ์ฝ”๋“œ ๊ตฌํ˜„

modal.addEventListener("click", function (e) {
  e.target.classList.contains("close")
    ? ((modal.style.display = "none"),
      (document.body.style.overflow = "scroll"))
    : null;

  e.target.classList.contains("book") ? alert("๋ถ๋งˆํฌ ์ถ”๊ฐ€") : null;

  console.log(e.target);
});

 

๐Ÿ“Œ์ฝ”๋“œ ํ•ด์„

์‚ผํ•ญ์—ฐ์‚ฐ์ž๋ฅผ ํ†ตํ•ด ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜์˜€๋‹ค.

๊ฐ„๋‹จํžˆ ์„ค๋ช…ํ•˜์ž๋ฉด, 

์กฐ๊ฑด ? A : B

=> ์กฐ๊ฑด์ด ์ฐธ์ผ ๋•Œ A๋ฅผ, ์กฐ๊ฑด์ด ๊ฑฐ์ง“์ผ ๋•Œ B๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ

 

์กฐ๊ฑด์— ํ•ด๋‹นํ•˜๋Š” ๋ถ€๋ถ„ :

e.target.classList.contains("close")

'e.target' : ๋‚ด๊ฐ€ "click"ํ•œ ์š”์†Œ์— ์ ‘๊ทผํ•˜๊ธฐ

classList : ์š”์†Œ์˜ class๋ช…๋“ค

contains("") : ""์„ ํฌํ•จํ•˜๋Š” ๊ฒƒ

=> ๋‚ด๊ฐ€ ํด๋ฆญํ•œ ์š”์†Œ์˜ class๋ช… ์ค‘, "close"๋ฅผ ๊ฐ–๊ณ  ์žˆ๋Š” ๊ฒƒ

 

A์— ํ•ด๋‹นํ•˜๋Š” ๋ถ€๋ถ„:

((modal.style.display = "none"), (document.body.style.overflow = "scroll"))

๋ชจ๋‹ฌ์ฐฝ ๋‹ซ๊ธฐ, ๋ฉ”์ธ ํ™”๋ฉด ์Šคํฌ๋กค ๋˜๊ธฐ

 

B์— ํ•ด๋‹นํ•˜๋Š” ๋ถ€๋ถ„: null

 

-

๊ทธ ์•„๋ž˜ ๋ถ€๋ถ„(๋ถ๋งˆํฌ ๋ฒ„ํŠผ)๋„ ๋™์ผํ•˜๊ฒŒ ๊ตฌํ˜„ํ–ˆ๋‹ค.

e.target.classList.contains("book") ? alert("๋ถ๋งˆํฌ ์ถ”๊ฐ€") : null;

๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋‹ˆ aleart์ฐฝ์ด ์ž˜ ๋œฌ๋‹ค.

๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
TAG
more
ยซ   2026/03   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
๊ธ€ ๋ณด๊ด€ํ•จ