// Math.round ์ฌ์ฉ
Math.round(e.vote_average * 100) / 100
// toFixed() ์ฌ์ฉ
const roundedVote = e.vote_average.toFixed(2)
toFixed()์ ํน์ง
const num = parseFloat(e.vote_average.toFixed(2))
// ๋นํจ์จ์ ์ธ ์ฝ๋
$bookmarkIcon.addEventListener("mouseenter", () => {
$bookmarkIcon.innerHTML = "";
$bookmarkIcon.innerHTML = `<i class="material-symbols-outlined">bookmark_add</i>`;
});
$bookmarkIcon.addEventListener("mouseenter", () => {
setTimeout(() => {
$bookmarkIcon.innerHTML = `<i class="material-symbols-outlined">bookmark_add</i>`;
}, 0);
});
$bookmarkIcon.addEventListener("mouseenter", () => {
const icon = $bookmarkIcon.querySelector('i');
icon.textContent = "bookmark_add";
icon.classList.add("bookmark-add-icon");
icon.classList.remove("bookmark-icon");
});
export class Loading {
constructor(selector) {
this.$element = document.querySelector(selector); // DOM ์์ ์ ์ฅ
}
toggle(show) {
this.$element.style.display = show ? "block" : "none";
}
}
ํด๋์ค ์ค๊ณ ํฌ์ธํธ
1. constructor์ ์ญํ
this์ ์๋ฏธ
this.$element๋ ํด๋์ค ๋ด๋ถ์์ ๊ณต์ ๋๋ ๋ณ์ํด๋์ค ๋ด๋ถ์์ ๋ค๋ฅธ ํด๋์ค ์ฌ์ฉ
class MovieList {
constructor() {
this.loading = new Loading("#loading"); // constructor์์ ์ด๊ธฐํ
}
async initialize() {
this.loading.toggle(true); // ์ธ์คํด์ค ์ฌ์ฌ์ฉ
// ...
}
}
์ซ์ ์ฒ๋ฆฌ์ ์ธ๋ฐํ ์ ์ด
DOM ์กฐ์ ์ต์ ํ
ํด๋์ค ๊ธฐ๋ฐ ์ค๊ณ์ ์ด์