지난 시간 복습
clone coding...
JSON : JavaScript Object Notation, 좀 더 쉽게 데이터를 교환하고 저장하기 위하여 만들어진 텍스트 기반의 데이터 교환 표준
XML : EXtensible Markup Language, 데이터를 저장하고 전달할 목적으로 만들어진 마크업 언어, 사람과 기계가 둘 다 읽기 쉬운 언어
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="../js/jquery-3.7.1.min.js"></script>
</head>
<body>
<h4>학생명단</h4>
<p style="background-color: yellow;">
이름 : <span id="name"></span>
나이 : <span id="age"></span>
</p>
<script>
var s='[{"name":"Hong1","age":"21"},'
+'{"name":"Hong2","age":"22"},'
+'{"name":"Hong3","age":"23"},'
+'{"name":"Hong4","age":"24"}]'
var student=JSON.parse(s);
document.getElementById("name").innerHTML=student[0].name;
document.getElementById("age").innerHTML=student[0].age;
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="../js/jquery-3.7.1.min.js"></script>
</head>
<body>
<script>
var param1={
"name1":"Tom1",
"name2":"Tom2",
"name3":"Tom3",
}
var param2={
"name1":"111",
"name2":"222",
"name3":"333",
}
$(document).ready(function(){
jsonGetData();
});
function jsonGetData(){
console.log(param1.name1);
console.log(param2.name2);
alert("hhhh");
}
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="../js/jquery-3.7.1.min.js"></script>
</head>
<body>
<script>
var param2={
"quiz":{
"sport":{
"q1":{
"question":"Which one is correct team name in NBA?",
"options":[
"New Yorks Bulls",
"Los Angeles Kings",
"Golden State Warriors",
"Huston Rocket"
],
"answer":"Huston Rocket"
}
},
"math":{
"q1":{
"question":"5 + 7 = ?",
"options":[
"10",
"11",
"12",
"13"
],
"answer":"12"
},
"q2":{
"question":"12 - 8 = ?",
"options":[
"1",
"2",
"3",
"4"
],
"answer":"4"
}
}
}
}
$(document).ready(function(){
jsonGetData();
});
function jsonGetData(){
console.log(param2.quiz["sport"].q1.question);
console.log(param2.quiz["sport"].q1.options[0]);
console.log(param2.quiz["sport"].q1.question);
console.log(param2.quiz["sport"].q1.options[1]);
console.log(param2.quiz["sport"].q1.question);
console.log(param2.quiz["sport"].q1.options[2]);
console.log(param2.quiz["sport"].q1.question);
console.log(param2.quiz["sport"].q1.options[3]);
console.log(param2.quiz["sport"].q1.answer);
console.log(param2.quiz["math"].q1.question);
console.log(param2.quiz["math"].q1.options[0]);
console.log(param2.quiz["math"].q1.question);
console.log(param2.quiz["math"].q1.options[1]);
console.log(param2.quiz["math"].q1.question);
console.log(param2.quiz["math"].q1.options[2]);
console.log(param2.quiz["math"].q1.question);
console.log(param2.quiz["math"].q1.options[3]);
console.log(param2.quiz["math"].q1.answer);
}
</script>
</body>
</html>
AJAX : Asynchronous Javascript and XML, 비동기 자바스크립트 XML, 요청한 부분의 특정 내용만 보내줌.
AJAX 는 웹 서버가 필요함.
JQuery를 이용하면 ajax를 더 쉽게 사용 가능함.
Le JQuery Ajax change txt
Le JQuery Ajax change txt
Le JQuery Ajax change txt
Le JQuery Ajax change txt
Le JQuery Ajax change txt
Le JQuery Ajax change txt
Le JQuery Ajax change txt
Le JQuery Ajax change txt
demo.txt
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="../js/jquery-3.7.1.min.js"></script>
<script>
$(document).ready(function(){
$("button").click(function(){
$.ajax({
url:'./demo.txt',
async:true,
success:function(result){
alert(result);
}
});
});
});
</script>
</head>
<body>
<style>
div{
width: 300px;
height: 200px;
border: 1px solid blue;
}
</style>
<div id="div1">
<h2>Le JQuery Ajax change txt</h2>
</div>
<button>get text</button>
<h3>content2</h3>
<h3>content2</h3>
<h3>content2</h3>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="../js/jquery-3.7.1.min.js"></script>
<script>
$(document).ready(function(){
$("button").click(function(){
$.ajax({
url:'./demo.txt',
async:true,
success:function(result){
$("#div1").html(result);
}
});
});
});
</script>
</head>
<body>
<style>
div{
width: 300px;
height: 200px;
border: 1px solid blue;
}
</style>
<div id="div1">
<h2>Le JQuery Ajax change txt</h2>
</div>
<button>get text</button>
<h3>content2</h3>
<h3>content2</h3>
<h3>content2</h3>
</body>
</html>
전체 페이지가 refresh 되는 게 아니라 div1 안의 내용만 가져와서 바뀐다.
HTML 내용은 끝
+a
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<style>
.container{
background-color: skyblue;
height: 300px;
display: flex;
flex-direction: row;
}
.list{
background-color: green;
color: white;
border: 1px solid white;
}
</style>
<div class="container">
<div class="list">list1</div>
<div class="list">list2</div>
<div class="list">list3</div>
<div class="list">list4</div>
<div class="list">list5</div>
</div>
</body>
</html>
flex 의 현재 방향 : row (기본값)
flex-direction: column;
flex-direction: row-reverse;
flex-direction: column-reverse;
<style>
.list:nth-child(1){
flex-basis: 300px;
}
</style>
<style>
.list:nth-child(1){
flex-basis: 300px;
flex-shrink: 1;
}
.list:nth-child(2){
flex-basis: 300px;
flex-shrink: 2;
}
.list:nth-child(3){
flex-basis: 300px;
flex-shrink: 3;
}
</style>
창 크기 줄이기 전
창 크기 줄인 후
-> 크기가 줄어드는 비율을 정함, 0이면 변화 x -> 반응형 웹에서 사용 가능
이를 이용한 Layout 만들어보기
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<style>
.container{
background-color: skyblue;
display: flex;
flex-direction: column;
}
header{
border-bottom: 1px solid gray;
padding-left: 20px;
}
footer{
border-top: 1px solid gray;
padding: 20px;
}
.content{
display: flex;
}
.content nav{
border-right: 1px solid gray;
}
.content aside{
border-left: 1px solid gray;
}
nav,aside{
flex-basis: 150px;
flex-shrink: 0;
}
main{
margin: 10px;
}
</style>
<div class="container">
<header>
<h1>CSS CODE</h1>
</header>
<section class="content">
<nav>
<ul>
<li>css1</li>
<li>css2</li>
<li>css3</li>
</ul>
</nav>
<main>
css 코딩 flex 알아보기1
css 코딩 flex 알아보기2
css 코딩 flex 알아보기3
css 코딩 flex 알아보기4
css 코딩 flex 알아보기5
css 코딩 flex 알아보기6
css 코딩 flex 알아보기7
css 코딩 flex 알아보기8
css 코딩 flex 알아보기9
css 코딩 flex 알아보기10
</main>
<aside>
aside <br>
부가정보
</aside>
</section>
<footer>
<a href="http://www.w3c.org">w3c org</a>
</footer>
</div>
</body>
</html>
flex3.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<style>
body{
display: flex;
justify-content: center;
}
.container{
display: flex;
flex-direction: column;
max-width: 900px;
border: 1px solid gray;
}
header{
border-bottom: 1px solid gray;
padding-left: 20px;
}
footer{
border-top: 1px solid gray;
padding: 20px;
height: 50px;
}
.content{
display: flex;
}
.content nav{
border-right: 1px solid gray;
}
.content aside{
border-left: 1px solid gray;
}
nav,aside{
flex-basis: 150px;
flex-shrink: 0;
}
main{
margin: 10px;
}
</style>
<div class="container">
<header>
<h1>CSS CODE</h1>
</header>
<section class="content">
<nav>
<ul>
<li>css1</li>
<li>css2</li>
<li>css3</li>
</ul>
</nav>
<main>
css 코딩 flex 알아보기1
css 코딩 flex 알아보기2
css 코딩 flex 알아보기3
css 코딩 flex 알아보기4
css 코딩 flex 알아보기5
css 코딩 flex 알아보기6
css 코딩 flex 알아보기7
css 코딩 flex 알아보기8
css 코딩 flex 알아보기9
css 코딩 flex 알아보기10
</main>
<aside>
aside <br>
부가정보
</aside>
</section>
<footer>
<a href="http://www.w3c.org">w3c org</a>
</footer>
</div>
</body>
</html>
flex4.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<style>
body{
background-color: skyblue;
}
@media (max-width:700px){
body{
background-color: green;
}
}
</style>
<h2>
background-color
background-color
background-color
background-color
background-color
background-color
background-color
background-color
background-color
</h2>
</body>
</html>
700 px 까지는 green, 701 px 부터는 skyblue 로 바뀐다
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<style>
body{
display: flex;
align-items: center;
justify-content: center;
background-color: skyblue;
}
.container{
display: flex;
flex-direction: column;
width: 800px;
border: 1px solid gray;
}
header{
border-bottom: 1px solid gray;
padding-left: 20px;
}
footer{
border-top: 1px solid gray;
padding: 20px;
height: 50px;
text-align: center;
}
.content{
display: flex;
}
.content nav{
border-right: 1px solid gray;
}
.content aside{
border-left: 1px solid gray;
}
nav,aside{
flex-basis: 200px;
flex-shrink: 0;
}
main{
margin: 10px;
}
@media (max-width:600px){
body{
background-color: green;
}
.content{
flex-direction: column;
}
.content nav, .content aside{
border:none;
flex-basis: auto;
}
main{
order:0;
}
nav{
order:1;
}
aside{
order:2;
}
}
</style>
<h2>
<div class="container">
<header>
<h1>CSS CODE</h1>
</header>
<section class="content">
<nav>
<ul>
<li>css1</li>
<li>css2</li>
<li>css3</li>
</ul>
</nav>
<main>
css 코딩 flex 알아보기1
css 코딩 flex 알아보기2
css 코딩 flex 알아보기3
css 코딩 flex 알아보기4
css 코딩 flex 알아보기5
css 코딩 flex 알아보기6
css 코딩 flex 알아보기7
css 코딩 flex 알아보기8
css 코딩 flex 알아보기9
css 코딩 flex 알아보기10
css 코딩 flex 알아보기11
css 코딩 flex 알아보기12
css 코딩 flex 알아보기13
css 코딩 flex 알아보기14
css 코딩 flex 알아보기15
css 코딩 flex 알아보기16
css 코딩 flex 알아보기17
css 코딩 flex 알아보기18
css 코딩 flex 알아보기19
css 코딩 flex 알아보기20
css 코딩 flex 알아보기21
css 코딩 flex 알아보기22
css 코딩 flex 알아보기23
css 코딩 flex 알아보기24
css 코딩 flex 알아보기25
css 코딩 flex 알아보기26
css 코딩 flex 알아보기27
css 코딩 flex 알아보기28
css 코딩 flex 알아보기29
css 코딩 flex 알아보기30
</main>
<aside>
aside <br>
부가정보
</aside>
</section>
<footer>
<a href="http://www.w3c.org">w3c org</a>
</footer>
</div>
</h2>
</body>
</html>
진짜 HTML 끝
오전 수업 끝