๐ฉ๐ป Learn programming
[๋๋ง์ ๋จ์ด์ฅ] 9. ๋ชฉ๋กํ์ด์ง - ๊ฒ์ ๊ธฐ๋ฅ ๋ง๋ค๊ธฐ
๋์์ธ ๋ฝ์ก์ด
2022. 5. 4. 14:30
๋ฐ์ํ
- ๋จ์ด์ฅ์ ๋จ์ด๊ฐ ์์ผ๋ฉด ๋จ์ด์ฅ ํ์ด๋ผ์ดํธ
- ์์ผ๋ฉด ์ฌ์ ์ ์๋ ๋จ์ด์ด๋ฉด ์์ธํ์ด์ง๋ก ์ด๋
- ์ฌ์ ์ ์๋ ๋จ์ด๋ฉด ‘์๋ ๋จ์ด’ ํ์
โ ๊ฒ์์ ์ํด word ํค ๊ฐ๋ง ๋ชจ์ฌ์๋ word_list ๋ง๋ค๊ธฐ
let words = {{ words|tojson }}; //'์ด ๋ถ๋ถ์ Html ์ฝ๋๊ฐ ์๋๊ณ ์ง์ง ๋ฐ์ดํฐ'๋ผ๊ณ ๋งํด์ฃผ๊ธฐ ์ํด tojson์ ์ฌ์ฉ
let word_list = []; //๋์
๋๋ฆฌ์์ ๋จ์ด๋ค๋ง ๋ชจ์ผ๊ธฐ ์ํ list ์์ฑ
for (let i = 0; i < words.length; i++) { //words์ ๊ธธ์ด๋ณด๋ค ์งง์ ๋์ ๋ฐ๋ณต
word_list.push(words[i]["word"]) //words์ i๋ฒ์งธ์ word ํค ๊ฐ์ word_list ์์ ํ๋์ฉ ๋ฃ์
}
- tojson ์
- tojson ํ
- console ์ฐฝ ์ถ๋ ฅ ๊ฒฐ๊ณผ
โ ๊ฒ์ ๊ธฐ๋ฅ ๊ตฌํ
function find_word() {
let word = $("#input-word").val().toLowerCase(); //input-word์ ๊ฐ์ ์๋ฌธ์๋ก๋ง ๋ฐ์์ word์ ์ ์ฅ
if (word == "") { //์๋ฌด ๊ฒ๋ ์
๋ ฅํ์ง ์๊ณ ๊ฒ์ํ์ฌ word๊ฐ ๋น์์ผ๋ฉด
alert("please write something first :)") //alert ๋์ฐ๊ธฐ
return
}
if (word_list.includes(word)) { //word_list์ ํฌํจ๋์ด ์์ผ๋ฉด
$(`#word-${word}`).addClass('highlight').siblings().removeClass('highlight'); //ํ์ด๋ผ์ดํธ ๊ธฐ๋ฅ์ ํ์ด๋ผ์ดํธ ํด๋์ค๋ก ์ถ๊ฐ
$(`#word-${word}`).siblings().removeClass("hightlight") //(`#word-${word}`) ๊ฐ id์ ํ์ ๋ค์ ์ฐพ์์ ํ์ด๋ผ์ดํธ ํด๋์ค๋ฅผ ์์ฐ.
$(`#word-${word}`)[0].scrollIntoView(); //์คํฌ๋กค์ด ๊ธธ์ด์ก์ ๋, word์ ๋ง๋ ์ฒซ๋ฒ ์งธ ์์๋ฅผ ์ฐพ์์ ์คํฌ๋กค ํ๋ ๊ธฐ๋ฅ ์ถ๊ฐ
} else { //์์ผ๋ฉด
window.location.href = `/detail/${word}?status_give=new` //์ ๋จ์ด๋ฅผ ์ํ ์์ธํ์ด์ง๋ก ์ด๋.
}
}
โ
โ ํ์ด๋ผ์ดํธ ์คํ์ผ
/* ํ์ด๋ผ์ดํธ ํด๋์ค๋ฅผ ๊ฐ๋ tr ์์ td์ ๋ฐฐ๊ฒฝ์, ๊ธ์์ ์ ์ฉ */
tr.highlight > td {
background-color: #e8344e;
color: white;
}
/* (td ์ ์ฉ ์คํ์ผ์์ a ํ๊ทธ์ ๋จผ์ ์ ์ฉ๋ ์คํ์ผ์ด ์์ด์ ์ ์ฉ ์๋) a ํ๊ทธ๋ ๋ฐ๋ก ๊ธ์์ ์ ์ฉ */
tr.highlight >td > a {
color: white;
}
๋ฐ์ํ