728x90
반응형

문제 1

현재 시간을 받아오는 코드를 작성하시오

 

▶ 코드

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        #container {
            text-align: center;
            margin-top: 30px;
        }
        .time {
            color: blue;
            font-size: 20px;
        }
    </style>
</head>

<body>
    <div id="container">
        <div class="t">현재 시각 <span class="time"></span></div>
    </div>
</body>

</html>
<script>
    setInterval(now, 1000);
    function now() {
        var time = new Date();
        var obj = document.querySelector('.time');
        obj.innerHTML = time.toLocaleTimeString(); //time 클래스에 직접 값을 넣는다.
    }
</script>

 

 

▶ 출력 결과

 

 

 

 

문제 2

문제 1을 응용하여 팝업 이벤트를 가진 버튼을 추가하여 코드를 작성하시오.

 

▶ 코드

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        #container {
            text-align: center;
        }
        button {
            padding: 10px;
            margin-top: 30px;
        }
    </style>
</head>

<body>
    <div id="container">
        <button onclick="popTime()">현재 시간 보기</button>
    </div>
</body>

</html>
<script>
    function popTime() {
        window.open("script1.html", "time", "width=500px, height=200px, left=800px, top=300px");
        // 여러 개 뜨는 걸 방지
    }
</script>

 

 

▶ 출력 결과

  • 버튼을 누르면 해당 창이 팝업으로 나온다.

 

 

728x90
반응형
728x90
반응형

문제

해당 배열의 내용을 테이블로 출력하시오.

    var arr = [
        { name: '홍길동', java: 90, oracle: 95, html: 85, addr: '서울' },
        { name: '옥한빛', java: 76, oracle: 80, html: 70, addr: '인천' },
        { name: '귀살대', java: 81, oracle: 75, html: 80, addr: '부산' },
        { name: '김철수', java: 87, oracle: 99, html: 98, addr: '제주도' },
        { name: '유재석', java: 85, oracle: 85, html: 90, addr: '서울' }
    ];

 

 

▶ 코드

<script>
    var arr = [
        { name: '홍길동', java: 90, oracle: 95, html: 85, addr: '서울' },
        { name: '옥한빛', java: 76, oracle: 80, html: 70, addr: '인천' },
        { name: '귀살대', java: 81, oracle: 75, html: 80, addr: '부산' },
        { name: '김철수', java: 87, oracle: 99, html: 98, addr: '제주도' },
        { name: '유재석', java: 85, oracle: 85, html: 90, addr: '서울' }
    ];

    document.write("<table><tread>");
    document.write("<tr><th>이름</th><th>주소</th><th>자바</th><th>오라클</th><th>HTML</th></tr>");
    document.write("</thred><tbody>");
    for (var i = 0; i < arr.length; i++) {
        document.write("<tr><td>" + arr[i].name + "</td><td>" + arr[i].addr + "</td>" + "</td><td>"
            + arr[i].java + "</td>" + "</td><td>" + arr[i].oracle + "</td>" + "</td><td>" + arr[i].html + "</td></tr>");
    }
    document.write("</tbody></table>");
</script>
// 위 코드를 보기 편하게 정리한 코드
<script>
    document.write("<table><tread>");
    document.write("<tr>");
    document.write("<th>이름</th>");
    document.write("<th>주소</th>");
    document.write("<th>자바</th>");
    document.write("<th>오라클</th>");
    document.write("<th>HTML</th>");
    document.write("</tr></tread><tbody>");
    for (var i = 0; i < arr.length; i++) {
        document.write("<tr>");
        document.write("<td>" + arr[i].name + "</td>");
        document.write("<td>" + arr[i].addr + "</td>");
        document.write("<td>" + arr[i].java + "</td>");
        document.write("<td>" + arr[i].oracle + "</td>");
        document.write("<td>" + arr[i].html + "</td>");
        document.write("</tr>");
    }
    document.write("</tbody></table>");
</script>
    <style>
        table, tr, th, td {
            border: 1px solid black;
            border-collapse: collapse;
            padding: 15px;
            text-align: center;
        }
    </style>

 

 

▶ 출력 결과

 

 

 

728x90
반응형
728x90
반응형

문제

주어진 코드를 이용하여 버튼을 누르면 텍스트가 나오고, 버튼을 다시 누르면 텍스트가 사라지게 만드시오.

<!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>
  <div class="obj">
    <div class="text">JAVASCRIPT 노잼</div>
    <button onclick="hide()">감추기</button>
  </div>
  <button class="btn" onclick="show()" style="display : none;">다시호출</button>
</body>
</html>
<script>
  // show();
  function hide(){
    var obj = document.querySelector('.obj');
    obj.style.display = 'none'; 
    var btn = document.querySelector('.btn');
    btn.style.display = 'block';
    
  }
  function show(){
    var obj = document.querySelector('.obj');
    obj.style.display = 'block'; 
    var btn = document.querySelector('.btn');
    btn.style.display = 'none';
  }
</script>

 

 

 

 

 

코드

	<style>
        #item {
            position:relative;
            width:500px;
            height:auto;
            padding:15px 20px;
            margin:auto;
            position: relative;
        }
        button {
            background-color:rgba(255,255,255,0.7);;
            padding:5px;
            border:1px solid #ccc;
            font-size:0.8em;			
        }
        .detail {
            width:400px;
            text-align:left;			
            line-height:1.8;
            display:none;
        }
        .btn {
            position: absolute;
            left: 30px;
            bottom: 30px;
        }
	</style>
<body>
    <div id="item">
        <img src="../img/flower.jpg" alt="">
        <button class="btn" onclick="show()">상세 설명 보기</button>
        <div id="desc" class="detail">
            <h4>등심붓꽃</h4>
            <p>북아메리카 원산으로 각지에서 관상초로 흔히 심고 있는 귀화식물이다. 길가나 잔디밭에서 흔히 볼 수 있다. 아주 작은 씨앗을 무수히 많이 가지고 있는데 바람을 이용해 씨앗들을 날려보내거나,
                뿌리줄기를 통해 동일한 개체들을 많이 만들어 냄으로써 번식한다. </p>
            <button onclick="hide()">상세 설명 닫기</button>
        </div>
    </div>
</body

 

<script>
    function show() {
        var btn = document.querySelector('.btn');
        var desc = document.querySelector('#desc');
        desc.style.display = "block";
        btn.style.display = "none";
    }

    function hide() {
        var btn = document.querySelector('.btn');
        var desc = document.querySelector('#desc');
        desc.style.display = "none";
        btn.style.display = "block";
    }
</script>
  • btn2 클래스에 none 속성을 주지 않아도 desc를 감추면 버튼도 같이 감춰진다.

 

 

 

▶ 함수 안을 간단하게 수정할 수 있다.

    function show() {
        var desc = document.querySelector('#desc').style.display = "block";
        var desc = document.querySelector('#desc').btn2.style.display = "block";
    }
728x90
반응형
728x90
반응형

문제 1

두 숫자의 합이 리턴되는 sum 함수를 만드시오.

<script>
    document.write("10+20="+sum(10,20));
    function sum(num1, num2){
        return parseInt(num1)+parseInt(num2);
    }
</script>

 

 

 

 

문제 2

숫자 두 개를 입력받아 두 숫자의 합이 리턴되는 sum 함수를 만드시오.

<script>
    var num1 = prompt("숫자1");
    var num2 = prompt("숫자2");
    var numSum = sum(num1, num2);
    document.write(num1+"+"+num2+"="+numSum);
    function sum(num1, num2){
        return parseInt(num1)+parseInt(num2);
    }
</script>

 

 

728x90
반응형
728x90
반응형

문제 1

구구단을 출력하되, 프롬포트에 입력받은 단만 백그라운드 컬러를 칠하는 코드를 작성하시오.

 

 

▶ 코드

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        table, tr, td {
            border: 1px solid black;
            border-collapse: collapse;
            padding: 10px;
            font-size: 12px;
            text-align: center;
        }
        caption {
            font-size: 20px;
            margin-bottom: 10px;
        }
    </style>
</head>
<body>
    
</body>
</html>
<script>
    var colo = prompt("색칠할 단을 입력해주세요");
    document.write("<div id='container'><table><caption>구구단을 외자 구구단을 외자</caption><tread>");
    for(var i=2;i<10;i++){
        document.write("<tr>");
        for(var j=1;j<=9;j++){
            if(i == colo){
                document.write("<td style = 'background-color: #ccc;''>"+i+"*"+j+"="+(i*j)+"</td>");
            } else{
                document.write("<td>"+i+"*"+j+"="+(i*j)+"</td>");
            }
        }
        document.write("</tr>");
    }
    document.write("</tread></table></div>");
</script>

 

 

▶ 출력 결과

 

 

 

 

 

문제 2

해당 화면을 출력하는 코드를 작성하시오.

 

 

▶ 코드

<script>
    document.write("<div id='container'><table><caption>구구단을 외자 구구단을 외자</caption><tread>");
    var count=9;
    for(var i=1;i<10;i++){
        document.write("<tr>");
        for(var j=1;j<=9;j++){
            if(j == count){
                document.write("<td style = 'background-color: #ccc;''>"+i+"*"+j+"="+(i*j)+"</td>");
                count--;
            } else{
                document.write("<td>"+i+"*"+j+"="+(i*j)+"</td>");
            }
        }
        document.write("</tr>");
    }
    document.write("</tread></table></div>");
</script>

 

 

 

 

 

 

문제 3

해당 화면을 출력하는 코드를 작성하시오.

 

 

 

▶ 코드

<script>
    document.write("<div id='container'><table><caption>구구단을 외자 구구단을 외자</caption><tread>");
    var count1 = 1;
    var count2 = 9;
    for (var i = 1; i < 10; i++) {
        document.write("<tr>");
        for (var j = 1; j <= 9; j++) {
            if (j == count1) {
                if(count1 == count2)
                    document.write("<td style = 'background-color: yellowgreen;''>" + i + "*" + j + "=" + (i * j) + "</td>");
                else
                    document.write("<td style = 'background-color: #ccc;''>" + i + "*" + j + "=" + (i * j) + "</td>");
            } else if (j == count2) {
                document.write("<td style = 'background-color: tomato;''>" + i + "*" + j + "=" + (i * j) + "</td>");
                
            } else {
                document.write("<td>" + i + "*" + j + "=" + (i * j) + "</td>");
            }
        }
        count1++;
        count2--;
        document.write("</tr>");
    }
    document.write("</tread></table></div>");
</script>

 

 

 

※ 단 수가 바뀌어도 모양의 변화가 없다.

 

728x90
반응형

+ Recent posts