728x90

JavaScript에서 타이머 구현을 하기 위한 방법으로

setTimeout과 setInterval 두 함수 중 한 가지를 이용하면 구현이 가능합니다.

 

간단하게 비교하자면

setTimeout 같은 경우 일정 시간이 지난 후에 실행하는 방법

clearTimeout()으로 스케줄링 취소

 

setInterval 해당 시간 마다 주기적으로 실행하는 방법

clearInterval()으로 스케줄링 취소

 

문법

let timerId = setTimeout/setInterval(func|code, [delay], [arg1], [arg2], ...)

함수 후 delay 부분에 원하는 시간을 넣게 되면 해당 시간 이후 실행이 됩니다.

 

 

그리고 실제 setInterval으로 이용해서 타이머를 구현한 코드입니다.

 

let timer = setInterval(function(){
        console.log(time);
        
        if(time>=1){
            time = time - 1;
                
        }
        if(time==0){
            console.log("종료");
    
            clearInterval(timer);
        }
        time_text.textContent = time;
        },1000);

 

 

728x90
728x90

 

안녕하세요 오늘은 자바스크립트에서 아이디를 통해 가져와서 사용하는

법을 알아보도록 하겠습니다.

클래스로 하는 방법은 아래 링크 남겨두도록 하겠습니다.

다른 간단한 설명도 아래 링크에 있습니다.

https://didimdol20.tistory.com/76?category=1032931

 

 

먼저 자바스크립트에서 html 파일에서 가져와서 사용하는 방법 3가지 중 이번에 두 번째 방법인

id로 가져오는 것을 하고자 하는데요 

클래스로 가져오는 방법과는 달리 이번엔 

 

document.getElementByID("ID명") 을 이용해주시면 됩니다.

클래스와는 달리 뒤에 [0] 안붙여주셔도 됩니다.

 

 

바로 코드로 알아보겠습니다.

기본 html입니다. 아래 script를 통해 꼭 js파일을 연동해주셔야

합니다. 깜박하고 연동시켜주지 않을 시에는

동작이 되지 않습니다.

 

 

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    
</head>
<body>
    <h1 id="test">안녕하세요</h1>
    <button id="btn">변경</button>

    <script src="js.js"></script>
</body>
</html>

 

 

이제 여기에서 먼저 버튼을 가져와서 메세지를 띄우는 것을 해보겠습니다.

그전에 혹시라도 addEventListener이 나올 텐데 모르는 분이 있으시다면,

이벤트를 등록하는 함수입니다. 

 

alert()함수는 메시지 창 이 나오게 하는 함수입니다.

 

 

 

var btn = document.getElementById("btn");

btn.addEventListener("click",function(){
    alert("등록");
})

 

 

 

이렇게 해서 버튼을 클릭하게 된다면

 

 

 

 

 

제가 등록한 코드대로 동작하는 것을 확인할 수 있습니다.

이후 문장을 변경하고 싶을 경우 textContent나 innerHTML를 사용해주시면 됩니다.

 

 

 

var btn = document.getElementById("btn");

btn.addEventListener("click",function(){
    document.getElementById("test").innerHTML = "반갑습니다.";
})

 

 

이렇게 추가 해주고 나서 다시 버튼을 클릭해보면

글이 바뀌게 됩니다.

 

 

 


정리

 

1. 아이디를 이용해서 가져올 경우

document.getElementById("ID명") 을 이용하면 된다.

 

2. class와 같은 방법으로 innerHTML 또는 textContent로 글자를 변경한다.

 

 

감사합니다.

728x90
728x90

 

 

안녕하세요 오늘은 저번 자바스크립트 글자 바꾸는 법 글에 다른 방법을 

알아보도록 하겠습니다.

 

 

 

저번 textContent 글 링크입니다. 혹시 필요하시다면 링크 남겨놓겠습니다.

https://didimdol20.tistory.com/77

 

JavaScript / JavaScript 클래스로 글자 바꾸기 / textContent

안녕하세요 오늘은 저번 글에 이어 자바스크립트 중 클래스 이름을 이용하여 속성을 바꾸는 방법을 알아보겠습니다. 클래스를 가지고 자바스크립트로 가져오는 방법은 저번 글을 참고해주세요

didimdol20.tistory.com

 

위 글 그러니깐 이전 글에선 document.getElmentsByClassName("클래스명")[0]; 를 이용하여

자바스크립트에서 textContent를 통해 글자를 변경했습니다.

 

 

그런데 이 방법을 사용할 때 만약 내용이 길어질 경우 생각한 것처럼 줄 바꿈이 되지 않는 점을

확인하실 수 있습니다. 

가령 개발자가 콘텐츠 크기를 설정하고 텍스트를 많이 쓸 경우

안녕하세

요.

반갑습니

다.

 

이런 예시로 나올 수도 있지요. 티스토리만 해도 모바일 크기에 따라 달라지니깐요.

 

이때 줄 바꿈을 하기 위해선 각 줄마다 태그를 통해 써주시거나 아니면, 각각 위 방법으로 클래스를

하는 방법을 통해 바꿀 수도 있습니다.

 

하지만 번거로움이 있죠.

그때 사용하면 좋은 것이 innerHTML이 있습니다. 이를 통해서

html 태그 중 줄 바꿈 태그인 br를 추가해줄 수 있죠.

 

먼저 클래스를 가져오는 점은 textContent와 같습니다.

먼저 클래스를 통해 가져오는 방법이 있죠.

두 가지 방법은 이 전의 쓴 글을 참고해주세요.

 

 

https://didimdol20.tistory.com/76?category=1032931

 

javascript / 버튼 가져오기 / 버튼 클릭시 동작/ getElementByClassName / 클래스로 자바스크립트 에서 사

안녕하세요 오늘은 HTML에 작성된 태그를 클래스 이름으로 가져와서 자바스크립트에서 사용하는 방법을 알아보겠습니다. 다른 글 찾아보면서 이해하면서 하는 게 실력은 늘 테지만, 설명 글은

didimdol20.tistory.com

 

 

그럼 간단하게 사용법과 결과를 확인해보겠습니다.

그전에 먼저 비교를 위해 textContent를 보여드리겠습니다.

 

먼저 기본 HTML입니다.

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <p class="text">안녕하세요</p>
    <button class="btn">버튼</button>
    
    <script src="blog.js"></script>
</body>
</html>

 

자바스크립트입니다.

 

var btn = document.getElementsByClassName("btn")[0];

var text = document.getElementsByClassName("text")[0];

btn.addEventListener("click",function(){
    text.textContent = "안녕하세요 반갑습니다. \
    날씨가 좋군요";
});

 

버튼을 클릭하게 되면 textContent 같은 경우는

결과가 다음처럼 줄 바꿈이 되지 않은 것을 확인하실 수 있습니다.

 

var btn = document.getElementsByClassName("btn")[0];

var text = document.getElementsByClassName("text")[0];

btn.addEventListener("click",function(){
    text.innerHTML = "안녕하세요"+"<br>"+ "반갑습니다."+"<br>"+"\
    날씨가 좋군요.";
});

 

innerHTML를 쓸 경우 중간에 html 태그를 넣을 수 있습니다.

중간에 슬래시 반대방향은 키보드\을 쓴 것입니다.

코드가 길어지면 줄 바꿈을 하기 위해서 사용한 것입니다.

 

이렇게 코드를 바꿔 준 다음 다시 실행해보면 

 

이렇게 줄 바꿈이 잘 된 결과를 확인하실 수 있습니다.

 

 

 


정리

 

- textContent는 줄 바꿈이 생각한 것처럼 줄 바꿈이 되지 않는다.

 

- textContent 대신 innerHTML를 이용해서 HTML 태그를 이용하여 줄 바꿈을 한다.

 

 

 

감사합니다.

728x90
728x90

 

안녕하세요 오늘은 저번 글에 이어

자바스크립트 중 클래스 이름을 이용하여

속성을 바꾸는 방법을 알아보겠습니다.

 

 

클래스를 가지고 자바스크립트로 가져오는 방법은 저번 글을 참고해주세요

 

https://didimdol20.tistory.com/76?category=1032931

 

javascript / 버튼 가져오기 / 버튼 클릭시 동작/ getElementByClassName / 클래스로 자바스크립트 에서 사

안녕하세요 오늘은 HTML에 작성된 태그를 클래스 이름으로 가져와서 자바스크립트에서 사용하는 방법을 알아보겠습니다. 다른 글 찾아보면서 이해하면서 하는 게 실력은 늘 테지만, 설명 글은

didimdol20.tistory.com

 

 

먼저 간단하게 만든 HTML 구조입니다.

이번에는 바로 js 파일을 연동시켜 놓은 상태입니다.

 

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <p class="text">안녕하세요</p>
    <button class="btn">버튼</button>
    
    <script src="blog.js"></script>
</body>
</html>

 

버튼을 클릭하게 되면 안녕하세요라는 글자가 

반갑습니다로 변경하게 해 보겠습니다.

 

var btn = document.getElementsByClassName("btn")[0];

var text = document.getElementsByClassName("text")[0];

btn.addEventListener("click",function(){
    text.textContent = "반갑습니다.";
});

 

이렇게 먼저 text를 만들어준 다음 아래에서 textContent를 이용하는 방법이 있습니다.

이 외에도 짧은 코드에서 확인이 가능하다면

text라는 변수를 만들 필요 없이 바로도 가능합니다.

 

var btn = document.getElementsByClassName("btn")[0];

btn.addEventListener("click",function(){
    document.getElementsByClassName("text")[0].textContent = "반갑습니다.";
});

 

이렇게 버튼을 클릭하게 되면 '반갑습니다.'로 바뀌는 것을 확인하실 수 있습니다.

 

 


정리

 

- 변경하고자 하는 글에 클래스를 붙인 다음 자바스크립트 파일에 getElementsByClassName을 통해 가져옵니다.

 

- 이후 버튼 클릭시 변경하고자 하는 글에 위에서 선언한 변수를 가져온 다음 textContent를 이용하여 변경합니다.

ex) 변수명.textContent = "고칠 말";

 

- 또는 다음과 같이 변수를 선언하지 않고도 가능합니다.

ex) document.getElementsByClassName("클래스명")[0].textContent = "반갑습니다.";

 

 

감사합니다.

728x90

+ Recent posts