[jQuery] jQuery Mobile을 이용한 반응형 테이블 제작[jQuery] jQuery Mobile을 이용한 반응형 테이블 제작
Posted at 2019. 6. 18. 14:47 | Posted in JavaScript & jQuery/jQuery※ 참고
해당 예제는 jQuery Mobile의 HTML TABLE을 반응형으로 바꿔 모바일 화면에 맞게 출력할 수 도 있게 해주는 예제이다.
그렇기에 해당 예제는 jQuery.mobile.css 파일이 반드시 필요하기에. 사전에 제작중인 사이트에서 사용할 경우 CSS의 충돌은 염두해 두어야 할것이다.
■ 모바일 화면 크기에 맞는 테이블 레이아웃 변경
실제 사이트를 제작하고 운영하는 단계에서
요즘 반드시 고려하게 되는것이,
디바이스 화면에 맞추어 화면을 변화시키는 것이고,
그중 가장 귀찮게 하는것이 바로 HTML TABLE일 것이다.
컴퓨터와 모바일 디바이스에서의 보여주어야 하는 정보를 어떻게 처리해야 할지 상당히 귀찮고.
피곤한데, 이 고민을 jQuery Mobile을 사용하면 어느정도 덜어 낼 수 있다.
# HTML 소스 코드
table_reaction.html |
<html> <head> <title>:: 빅데이터 분석결과 ::</title> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/> <link rel="stylesheet" href="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.css"/> <link rel="stylesheet" href="./custom_table.css"/> <script type="text/javascript" src="https://code.jquery.com/jquery-1.11.1.min.js"></script> <script type="text/javascript" src="https://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script> <script type="text/javascript"> </script> </head> <body> <div data-role="content"> <h2>걸그룹 개인 브랜드 2019년 6월 빅데이터 분석결과</h2> <table data-role="table" class="ui-responsive"> <thead> <tr> <th>순위</th><th>그룹명</th><th>이름</th><th>참여지수</th> <th>미디어지수</th><th>소통지수</th><th>커뮤니티지수</th><th>총합</th> </tr> </thead> <tbody> <tr> <td>2</td><td>레드벨벳</td><td>아이린</td><td>186,886</td> <td>700,986</td><td>655,633</td><td>295,489</td><td>1,838,995</td> </tr> <tr> <td>3</td><td>블랙핑크</td><td>지수</td><td>296,098</td> <td>336,852</td><td>699,946</td><td>488,412</td><td>1,821,308</td> </tr> <tr> <td>8</td><td>트와이스</td><td>나연</td><td>184,853</td> <td>289,526</td><td>530,781</td><td>222,033</td><td>1,248,732</td> </tr> <tr> <td>29</td><td>러블리즈</td><td>정예인</td><td>95,033</td> <td>400,325</td><td>99,946</td><td>318,187</td><td>913,491</td> </tr> <tr> <td>32</td><td>EXID</td><td>하니</td><td>290,677</td> <td>169,911</td><td>303,396</td><td>135,080</td><td>899,063</td> </tr> <tr> <td>36</td><td>트와이스</td><td>사나</td><td>179,119</td> <td>182,508</td><td>255,687</td><td>242,732</td><td>860,046</td> </tr> <tr> <td>41</td><td>레드벨벳</td><td>웬디</td><td>115,885</td> <td>151,444</td><td>317,304</td><td>218,490</td><td>803,124</td> </tr> <tr> <td>52</td><td>오마이걸</td><td>유아</td><td>283,587</td> <td>184,294</td><td>137,143</td><td>141,610</td><td>746,634</td> </tr> <tr> <td>53</td><td>모모랜드</td><td>연우</td><td>462,914</td> <td>180,397</td><td>274,933</td><td>125,720</td><td>717,525</td> </tr> <tr> <td>90</td><td>트와이스</td><td>미나</td><td>107,567</td> <td>101,775</td><td>108,571</td><td>165,970</td><td>483,883</td> </tr> <tr> <td>96</td><td>우주소녀</td><td>성소</td><td>252,931</td> <td>57,348</td><td>93,477</td><td>50,066</td><td>453,722</td> </tr> <tr> <td>98</td><td>다이아</td><td>정채연</td><td>211,648</td> <td>108,572</td><td>81,186</td><td>46,940</td><td>448,345</td> </tr> </tbody> </table> </div> </body> </html> |
TABLE에 data-role="table" 속성을 추가하면
thead의 제목 필드값이 tbody의 td 값들 앞에 붙여지게 되지만.
그것은 jQuery.mobile.css 에서 노출을 막아주고 있기에
화면 사이즈의 변화에 따라서만 노출되게 된다.
# CSS 디자인
custom_table.css |
/* 화면 사이즈 조절 */ @media screen and (min-width:36em) {
/* 화면의 사이즈가 560px 이상일 경우 table의 텍스트를 가운데 정렬 한다.*/ .ui-responsive th, .ui-responsive td { text-align:center; } } /* 테이블 디자인 */ table { width:100%; text-align:center; border-collapse:collapse; } th { background:linear-gradient(#333333 0%, #444444 100%); color:#FFFFFF; font-weight:bold; height:60px; font-size:20px; }
td { height:40px; } /* 홀수행 백그루안드 색상 */ tr:nth-child(even) td { background:#EEEEEE; } /* 짝수행 백그루안드 색상 */ tr:nth-child(odd) td { background:#FDFDFD; } |
코드의 준비가 끝났다면
브라우저를 통해 해당 HTML 코드를 불러와 보자.
# 출력결과01 - 풀 사이즈
처음 풀 사이즈로 본 화면은 평소 컴퓨터를 할때 자주 접하게 되는
HTML TABLE과 다른 부분을 찾아볼 수 없다.
그럼 이제 해당 화면이의 가로 넓이 사이즈를 줄여 나가 보자.
# 출력결과 - 모바일 사이즈
그럼 위와같이 모바일 화면에 맞게 새로 정의된 TABLE의 내용을 확인 할 수 있다.
'JavaScript & jQuery > jQuery' 카테고리의 다른 글
[jQuery] load( ) 메소드를 이용한 외부 데이터의 페이지 반영 (0) | 2020.03.02 |
---|---|
[jQuery] JCROP을 이용한 이미지 자르기 - Sample (5) | 2020.02.11 |
[jQuery] 팝업 창 외에 다른 항목 클릭 막기 (0) | 2019.06.04 |
[jQuery] 화면 단위로 끊어서 마우스 휠로 이동하기 (7) | 2019.01.31 |
[jQuery] Mobile Web 사용시 KEYBOARD 이벤트 체크 (0) | 2018.11.17 |
[Kakao] KakaoTalk으로 링크 공유하기 API[Kakao] KakaoTalk으로 링크 공유하기 API
Posted at 2018. 8. 31. 01:17 | Posted in API/Kakao03. 제작할 앱의 아이콘과 이름을 작성하고, 앱 만들기 버튼을 클릭하면 앱이 생성된다.
04. 앱이 다 만들어지면 자바스크립트 키를 발급받게 되는데 이 키를 잘 기억해 두자.
#01. 카카오톡 피드 템플릿 제작
# 소스코드
<html> |
# 출력결과
<html> |
# 출력결과
'API > Kakao' 카테고리의 다른 글
[Kakao] Kakao 계정으로 Login 하기 (0) | 2020.01.31 |
---|
[Telegram] Telegram Bot을 사용하여 메세지 전송하기[Telegram] Telegram Bot을 사용하여 메세지 전송하기
Posted at 2018. 8. 29. 05:30 | Posted in API/Telegram#01. BotFather를 통한 메세지 봇 생성하기
텔레그램의 봇은 @BotFather를 통해 관리된다.
텔레그램 응용프로그램을 실행한뒤 아래 이미지와 같은 순서대로 작업을 진행한다.
① 텔레그램 검색창에 BotFather 라고 입력한다.
② 검색결과에서 BotFather를 선택하고 대화를 시작한다.
③ /start라고 입력한다.
④ /newbot이라고 입력하여 새로운 봇을 생성할 준비를 한다.
⑤ 자신이 사용할 봇의 아이디를 입력한다.(예 : wicked_test)
02. 정상적으로 메시지 봇이 생성되었다면 텔레그램 API에 getUpdate 값을 웹 브라우저로 전달하여 생성이 잘 되었는지를 확인해보자.
# 예시
https://api.telegram.org/bot + 토큰 API 키값 + /getUpdates |
# 출력결과
https://api.telegram.org/bot682811095:AAEfPFpuEOrq5uCk7KK6aP8BLlX-fpHov8k/getUpdates |
#02. Chart ID 확인하기
01. 먼저 메시지를 전달받을 텔레그램 계정으로 로그인한 텔레그램 채팅창에서 위에서 제작한 봇을 검색한다.
① 검색창에서 제작한 텔레그램 봇의 아이디 값을 입력한다.(예 : wicked_test)
② 검색결과에 제작한 봇 아이디가 나온다면 선택해준다.
③ 대화를 시작한다.
02. 대화가 시작되면 위와같이 /start 라고 자동으로 입력되는것을 확인 할 수 있다.
03. 이제 다시 위에서 실행한 웹 브라우저를 새로고침 하여 다시 getUpdates 를 전달해보면 입력한 값이 잘 출력되는 것을 확인 할 수 있다.
#03. 사용자에게 메세지 전송하기
01. 웹 브라우저를 실행해서 아래와 같이 코드를 작성하 메시지를 보내보도록 하자.
# 예시
https://api.telegram.org/bot + 토큰 API 키값 + /sendmessage?chat_id= + 사용자차트ID + &text= + 전송할 메세지 |
# 출력결과
https://api.telegram.org/bot682811095:AAEfPFpuEOrq5uCk7KK6aP8BLlX-fpHov8k/sendmessage?chat_id=39538219&text=Message |
02. 실제 텔레그램 상에서도 작성한 메세지 내용이 정상적으로 출력되는 것을 확인 할 수 있다.
[PHP] 모바일 접속 여부 체크방법[PHP] 모바일 접속 여부 체크방법
Posted at 2018. 3. 29. 18:43 | Posted in PHP참고 : http://esajin.kr/291
■ HTTP_USER_AGENT를 사용한 디바이스 확인
-. $_SERVER['HTTP_USER_AGENT']는 사용자의 웹 접속환경에 관한 정보를 담고있는 전역변수이다.
-. 사용자가 데스크탑으로 접속하였는지 모바일로 접속하였는지 확인을 위해 쓰일 수 있다.
# 소스코드 - 어떤 디바이스를 통해서 접근했는지를 파악할 mobile_check.php
<?php class module { function mobileConcertCheck() { $mobileArray = array( $checkCount = 0; for($num = 0; $num < sizeof($mobileArray); $num++) { if(preg_match("/$mobileArray[$num]/", strtolower($_SERVER['HTTP_USER_AGENT']))) { $checkCount++; break; } } return ($checkCount >= 1) ? "mobile" : "computer"; } } ?> |
# 소스코드 - 접속 결과를 나타낼 screen_change.php
<?php include "./mobile_check.php"; $obj = new module(); if($obj -> mobileConcertCheck() == "mobile") { echo "현재 보고계신 화면은 모바일 입니다."; } else { echo "현재 보고계신 화면은 컴퓨터 입니다."; } ?> |
# 출력결과
'PHP' 카테고리의 다른 글
[PHP] PHPExcel 서식 변경하기 (2) | 2018.08.29 |
---|---|
[PHP] 변수에 달러 기호가 삽입되는경우 (0) | 2018.08.10 |
[PHP] DB 입출력시 따옴표( ' )를 처리방법 (0) | 2018.04.06 |
[PHP] PDO 사용법 정리 (7) | 2018.03.27 |
[PHP] ERROR : unterminated string literal (0) | 2018.03.19 |