Bootstrap


1. 구글에서 개발 -> free

2. 반응형 웹 제작 프레임워크이다.

3. ui -> 가장 많이 활용되는 색상이나 어울리는 색상으로 ui 디자인 되어있다.

참고 사이트 : https://www.w3schools.com/bootstrap/

CDN 방식


<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"><script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 



Bootstrap Grid System

- colum들의 합이 12가 되어야한다.


Grid Classes

- xs(for phones)

- sm(for tablets)

- md(for desktops)

- lg(for larger desktops)



<div class="container">
  <div class="row">
    <div class="col-*-*"></div>//"col-xs-12"
  </div>
  <div class="row">
    <div class="col-*-*"></div>//"col-xs-3"
    <div class="col-*-*"></div>//"col-xs-3"
    <div class="col-*-*"></div>//"col-xs-6"
  </div>
  <div class="row">
    ...
  </div>

</div> 


<div class="container-fluid">

- layout을 화면에 꽉차게 보여준다.(margin:0)


[Medium Devices]

<div class="container">

    <h1>Medium Grid</h1>


    <!--993까지 md, 992이하로는 sm 적용-->

    <div class="row">

        <div class="col-sm-3 col-md-6" style="background-color:yellow;">

            korea

        </div>

        <div class="col-sm-9 col-md-6" style="background-color:pink;">

            hello

        </div>

    </div>

</div> 


- xs로 설정해주면 아무리 화면크기가 작아져도 끝까지 설정이 유지된다.


<img src="image/sea.jpg" class="img-responsive">

- class 속성 설정해주면 창크기가 줄어들면 이미지 사이즈도 같이 줄어든다.








































'SK고용디딤돌' 카테고리의 다른 글

직무교육 20일차(Bootstrap)  (0) 2017.08.09
직무교육 18일차(jQuery Mobile)  (0) 2017.08.07
직무교육 17일차(jQuery)  (0) 2017.08.04
직무교육 16일차(jQuery)  (0) 2017.08.03
직무교육 15일차(jQuery)  (0) 2017.08.02

UI Framework

- 스타일시트를 이용해 화면구성 해놓은 라이브러리이다.


1. 스마트폰용 : jqm, 센차터치, jq touch

2. pc : bootstrap(반응형),  jquery ui...


스마폰 개발(카메라, 센서 ) 및 배포 라이브러리(하이브리드웹(폰갭 + html5))


 

 Native App

 Web App

 실행속도

 빠름

 일반적으로 느림

 플랫폼

 플랫폼마다 제작하여야 함

 하나의 버전으로 모든 플랫폼에서 실행 가능

 배포

 앱 마켓을 통한 배포

 배포할 필요가 없음

 버전 업데이트

 상당한 시간이 걸림

 즉시 반영된다.

 오프라인시

 사용가능

 약간의 기능 사용 가능


[jQuery Mobile]

https://jquerymobile.com/ -> Download -> CDN 방식

<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css" />
<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>

<script src="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.js"></script> 


참고사이트

https://www.w3schools.com/jquerymobile/


<div data-role="footer" data-position="fixed">

- fixed로 설정해주면 footer를 하단에 고정할 수 있다.


<a href="#pagetwo">두번째 페이지</a>

- 두번째 페이지 id값으로 href 설정해주면 페이지 이동할 수 있다.


<a href="pgtwo.html">두번째 페이지</a>

- 파일 분리했을 경우 파일명으로 href 설정해주면 페이지 이동할 수 있다.


<div data-role="page" id="pagetwo" data-dialog="true">

- dialog로 새로운 창이 뜨다.


<a href="pgtwo.html" data-transition="slide">두번째 페이지</a>

- slide로 페이지 이동한다.


data-direction="reverse"

- 모든 속성이 반대로 변경된다.(slide -> 왼쪽, 오른쪽)


다른 애니메이션 속성들 참고 사이트 : https://www.w3schools.com/jquerymobile/jquerymobile_transitions.asp


[Button 적용]

<input type="button" value="Button">

<button class="ui-btn">Button</button>

<button class="ui-btn ui-btn-inline">Button</button> //버튼이 가로로 길게 나오지 않고 content 크기만큼만

<a href="#anylink" class="ui-btn">Button</a>


<div data-role="controlgroup" data-type="horizontal">

<a href="#" class="ui-btn">Button 1</a>

<a href="#" class="ui-btn">Button 2</a>

<a href="#" class="ui-btn">Button 3</a>

- button 그룹으로 묶어서 일직선상에  button 놓인다.


<a href="#" class="ui-btn" data-rel="back">Go Back</a>

- href를 따로 설정해주지 않아도 이전 페이지로 돌아간다.


[jQuery Mobile Icons]

https://www.w3schools.com/jquerymobile/jquerymobile_ref_icons.asp


ui-btn-icon-notext

- button class속성에 설정하면 text는 나오지않고 아이콘만 나온다.


[Panel]

<div data-role="panel" id="myPanel">

<h2>Panel Header..</h2>

<p>Some text..</p>

</div>//header위쪽에 배치

<a href="#myPanel" class="ui-btn ui-btn-inline">Open Panel</a>//content 안에 배치



<div data-role="collapsible">

<h1>Click me - I'm collapsible!</h1>

<p>I'm the expanded content.</p>

</div>//content 안에 배치

- data-collapsed="false"로 설정하면 처음부터 내용 펼쳐져서 보여진다.


[Table]

필터링하기

1. tabla header에  data-priority="1" 속성을 부여한다.

2. table에 data-mode="columntoggle" 속성을 부여한다.

3. table에 data-column-btn-text="Click me!" 속성을 부여하면 필터링 버튼 글자 변경할 수 있다.


[List View]

<ul data-role="listview" data-inset="true">

<li><a href="#">한국</a></li>

<li>한국2</li>

<li><a href="#">한국3</a></li>

</ul>

- content 안에 배치한다.

- data-inset="true"를 설정해주면 margin생긴다.


<li data-role="list-divider">과일</li>

- 항목에 대한 카테고리를 지정해 구분할 수 있다.


<li><a href="#"><img src="image/b.png" class="ui-li-icon">USA</a></li>

- class="ui-li-icon"설정해주면 text 옆에 16*16사이즈의 사진이 들어간다.

- 미설정시 32*32사이즈


추가버튼 눌러 list 추가하기

function fn() {

$('[data-role="listview"]').append('<li><a href="#">Europe</a></li>');

$('[data-role="listview"]').listview('refresh');//설정해야 디자인이 적용된다.

}


[Form]

<div class="ui-field-contain">

- text와 input이 한줄에 나온다.


+ arr.join('-') : 배열에 들어있는 것들 -로 구분할 수 있다.

+ arr.join('\n') : 배열에 들어있는 것들을 개행할 수 있다.


arr=[];

function fn() {

arr.push($('#fullname').val());

arr.push($('#bday').val());

arr.push($('#email').val());

arr.push($('[name="gender"]:checked').val());//radio

$('[name="favcolor"]:checked').each(function (i, v) {//checkbox

arr.push($(v).val());

})

arr.push($('#day>option:selected').val());//select

//console.log(arr.join('-'));

$('#info').val(arr.join('\n'));



$("#pageone").on("swipeleft",function(){

$.mobile.changePage("ptwo.html");

});

- id pageone인 페이지에서 왼쪽으로 swipe하면 ptow.html로 이동한다.

- $.mobile.changePage("ptwo.html", {transition:"slide"});로 설정하면 slide로 페이지가 이동한다.


$(document).on("pageshow", "#pagetwo", function() {

$('#oname').val($('#fullname').val());

})


- pagetwo로 이동하면서 id oname인 input에 pageone에 있던 id fullname 값을 넣어준다.

'SK고용디딤돌' 카테고리의 다른 글

직무교육 20일차(Bootstrap)  (0) 2017.08.09
직무교육 19일차(Bootstrap)  (0) 2017.08.08
직무교육 17일차(jQuery)  (0) 2017.08.04
직무교육 16일차(jQuery)  (0) 2017.08.03
직무교육 15일차(jQuery)  (0) 2017.08.02

hw_0804.zip

[AJAX]


.load();

$('#mydiv').load('a.jsp');

- HTML 전용 ajax


$.getJSON('c.jsp', function (data) {

/* data.forEach(function(v, i) {

})//javascript 함수 */

$.each(data, function (i, v) {

//console.log(v.name, v.age);

console.log(v.name);

$('#mytable').append('<tr><td>'+v.name+'</td><td>'+v.age+'</td></tr></table>')

})//jquery 함수

});//JSON 전용 AJAX 



n = $('#name').val();

a = $('#age').val();

data = {name:n, age:a};

/* data = {name:'김원정', age:23} */

$('#mydiv').load('b.jsp', data);

- b.jsp로 data 넘길 때


<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Insert title here</title>

<script src="js/jquery-3.2.1.min.js"></script>

<script>

function fn() {

//DataType : html

//$('#mydiv').load('a.jsp');

datas = {name : '홍길동', age : 30};

option={type:'get', url:'b.jsp', data:datas, dataType:'html', success:sFn, error:errFn};

$.ajax(option);

//DataType : JSON

//$.getJSON('c.jsp');

option = {type : 'get', url : 'c.jsp', dataType : 'json', success : sFn, error : errFn};

$.ajax(option); 

//DataType : XML

option = {type : 'get', url : 'my.xml', dataType : 'xml', success : sFn, error : errFn};

$.ajax(option);

}

function sFn(data) {

console.log(data);

//DataType : XML

/* $(data).find('student').each(function(i, v) {

//.children().eq() 사용

//console.log($(v).children().eq(0).text());

//console.log($(v).children().eq(1).text());

//.find() 사용 

//console.log($(v).find('sname').text());

//console.log($(v).find('age').text());

}); */

//mydiv.innerHTML = data;

}

function errFn(err) {

mydiv.innerHTML = err;

}

</script>

</head>

<body>

<div id="mydiv">표시</div>

<button onclick="fn()">확인</button>

</body>

</html> 


include directive

include action



.parseXML()

data = $.parseXML(data);

- xml문자열을 xml객체로 변환해준다.

'SK고용디딤돌' 카테고리의 다른 글

직무교육 19일차(Bootstrap)  (0) 2017.08.08
직무교육 18일차(jQuery Mobile)  (0) 2017.08.07
직무교육 16일차(jQuery)  (0) 2017.08.03
직무교육 15일차(jQuery)  (0) 2017.08.02
직무교육 14일차(HTML5 API)  (0) 2017.08.01

+ Recent posts