๐Ÿ‘ฉ‍๐Ÿ’ป Learn programming

[๋‚˜๋งŒ์˜ ๋‹จ์–ด์žฅ] 9. ๋ชฉ๋กํŽ˜์ด์ง€ - ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ ๋งŒ๋“ค๊ธฐ

๋””์ž์ธ ๋ฝ€์†ก์ด 2022. 5. 4. 14:30
๋ฐ˜์‘ํ˜•
  1. ๋‹จ์–ด์žฅ์— ๋‹จ์–ด๊ฐ€ ์žˆ์œผ๋ฉด ๋‹จ์–ด์žฅ ํ•˜์ด๋ผ์ดํŠธ
  2. ์—†์œผ๋ฉด ์‚ฌ์ „์— ์žˆ๋Š” ๋‹จ์–ด์ด๋ฉด ์ƒ์„ธํŽ˜์ด์ง€๋กœ ์ด๋™
  3. ์‚ฌ์ „์— ์—†๋Š” ๋‹จ์–ด๋ฉด ‘์—†๋Š” ๋‹จ์–ด’ ํ‘œ์‹œ

โœ… ๊ฒ€์ƒ‰์„ ์œ„ํ•ด 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;
}
๋ฐ˜์‘ํ˜•