2. FrontEnd - jmini1234/tripmate GitHub Wiki

1. JavaScript์™€ HTML ์—ฐ๋™

ใ„ฑ. ์ฑ„ํŒ…๋ฐฉ ๋ชฉ๋ก ๋งŒ๋“ค๊ธฐ

var List_TEMPLATE_BEFORE =
      "<li class='mdl-list__item'>" +
        "<span class='mdl-list__item-primary-content'>"+
          "<i class='material-icons mdl-list__item-icon'>chat</i>"+
          "<a class='name'  href='#'";
var List_TEMPLATE_AFTER =
      ">go</a>"+
        '</span>'+
      '</li>';

function displayList(roomlist) {
  var htmlelt = document.getElementById("lists");

  for(var room in roomlist){
    var divtag = document.createElement( 'div' );
    divtag.innerHTML = List_TEMPLATE_BEFORE + "id = "+roomlist[room]+List_TEMPLATE_AFTER;
    divtag.querySelector('.name').innerHTML = roomlist[room];
    htmlelt.appendChild(divtag);
  }
  listening(roomlist);
}

List_TEMPLATE๋ฅผ ๋งŒ๋“ค์–ด ๋ถˆ๋Ÿฌ์˜ฌ ์ฑ„ํŒ…๋ฐฉ ๋ชฉ๋ก์˜ ํ˜•์‹์„ ์ง€์ •ํ•˜์˜€๋‹ค. li ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฑ„ํŒ…๋ฐฉ ๋ชฉ๋ก์„ list.html ํŒŒ์ผ์— ๋ฆฌ์ŠคํŠธ ํ˜•์‹์œผ๋กœ ๋ถˆ๋Ÿฌ์˜จ๋‹ค.

htmlelt ๋ณ€์ˆ˜๋Š” list.html ํŒŒ์ผ์—์„œ ID๊ฐ€ lists์ธ ํƒœ๊ทธ๋ฅผ ๊ฐ€์ ธ์™€ ์„ ์–ธํ•œ๋‹ค.

roomlist์— ์žˆ๋Š” ์ฑ„ํŒ…๋ฐฉ๋งˆ๋‹ค div ํƒœ๊ทธ๋ฅผ ๋งŒ๋“ค์–ด์ฃผ๊ณ , innerHTML์œผ๋กœ div ํƒœ๊ทธ ์•ˆ์˜ ๋‚ด์šฉ์„ List_TEMPLATE์˜ ํ˜•์‹์„ ์ด์šฉํ•˜์—ฌ ๋ณ€๊ฒฝํ•œ๋‹ค.

ใ„ด. ๋งˆ์ดํŽ˜์ด์ง€ ๋งŒ๋“ค๊ธฐ

var List_TEMPLATE =
      "<li class='mdl-list__item'>" +
      '<div class="status"></div>'+
        '<div class="time"></div>'+
        '<div class="message"></div>'+
      '</li>';

function displayBook(datas){
  var messageListElement = document.getElementById('messages');
  var htmlelt = document.getElementById("lists");
  var divtag = document.createElement( 'div' );
  divtag.innerHTML = List_TEMPLATE;
  ...

๋งˆ์ดํŽ˜์ด์ง€์— ๋ถ๋งˆํฌํ•œ ๋‚ด์šฉ๋“ค์„ ๊ฐ€์ ธ์˜ฌ๋•Œ๋„ ๊ฐ™์€ ๋ฐฉ๋ฒ•์„ ์ด์šฉํ•˜์˜€๋‹ค.

List_TEMPLATE์— ๋ถ๋งˆํฌ๋ฅผ ๊ฐ€์ ธ์˜ฌ ํ˜•์‹์„ ์œ„์น˜, ์‹œ๊ฐ„, ๋ฉ”์‹œ์ง€ ๋‚ด์šฉ์„ ๋‚˜๋ˆ„์–ด ์ง€์ •ํ•˜์˜€๋‹ค.

  • getelementbyId() : ID๋ฅผ ์ด์šฉํ•˜์—ฌ ํ•ด๋‹น HTML ์š”์†Œ(ํƒœ๊ทธ)๋ฅผ ๋ฐ›์•„์˜จ๋‹ค

  • innerHTML=' ' : ์„ ํƒํ•œ HTML ์š”์†Œ ์•ˆ์˜ ๋‚ด์šฉ์„ ' ' ์•ˆ์˜ ๋‚ด์šฉ์œผ๋กœ ๋ณ€๊ฒฝํ•œ๋‹ค.


2. Google Material Design Lite ์‚ฌ์šฉ

<header class="mdl-layout__header">
        <div class="mdl-cell mdl-cell--12-col mdl-cell--12-col-tablet mdl-grid">
          <div class="mdl-layout__header-row mdl-cell mdl-cell--10-col mdl-cell--10-col-tablet mdl-cell--10-col-desktop">
            <img class="logo" src="images/logo_png_1.png" alt="Tripmate" height="30px">
            <img class="logo" src="images/logo_png_0.png" alt="Tripmate" height="30px">
          </div>
          <div id="user-container">
            <div hidden id="user-pic" onclick="location.href='./map.html'"></div>
            <div hidden id="user-name" onclick="location.href='./map.html'"></div>
          </div>
        </div>
      </header>

๊ณ ์ • ํ—ค๋”์™€ ๋ฐ”๋””์˜ ๊ธฐ๋ณธ์ ์ธ ๋ ˆ์ด์•„์›ƒ ๊ตฌ์„ฑ์— google material design lite๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ๋˜ํ•œ mdl์„ ์ด์šฉํ•˜์—ฌ ๋ฐ˜์‘ํ˜• ๋””์ž์ธ์„ ๊ตฌํ˜„ํ•˜์˜€๋‹ค.

ex)

  • mdl-grid : ํ•ด๋‹น container๋ฅผ MDL grid component๋กœ ์ •์˜ํ•œ๋‹ค.

  • mdl-cell : container๋ฅผ MDL cell๋กœ ์ •์˜ํ•œ๋‹ค.

  • mdl-cell--N-col : 1๋ถ€ํ„ฐ 12๊นŒ์ง€ column์˜ size๋ฅผ ์ง€์ •ํ•œ๋‹ค.


3. CSS ์ ์šฉ

.mdl-list__item .message {
  display:inline-block;
  float:left;
  font-size: 14px;
  box-sizing:border-box;
  padding:4px;
  margin-right:4px;
  text-align: left;
  width:100%;
}
@media screen and (max-width: 610px) {

  #user-container #user-pic {
    top: 2px;
    width: 33px;
    height: 33px;
    background-size: 33px;
  }
}

CSS ์„ ํƒ์ž๋ฅผ ์ด์šฉํ•˜์—ฌ ์—ฌ๋Ÿฌ ์š”์†Œ๋“ค์— ์„ธ๋ถ€์ ์ธ ์œ„์น˜, ํฌ๊ธฐ, ์—ฌ๋ฐฑ ๋“ฑ์˜ ๋””์ž์ธ์„ ์ ์šฉํ•œ๋‹ค.

๋ฏธ๋””์–ด์ฟผ๋ฆฌ๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฐ˜์‘ํ˜• ๋””์ž์ธ์„ ์ ์šฉํ•œ๋‹ค.

โš ๏ธ **GitHub.com Fallback** โš ๏ธ