본문 바로가기
퀴즈

자바스크립트 JSON 마무리 문제(UPGRADE)

by dongjin6539 2023. 4. 17.
728x90
반응형

자바스크립트 JSON 마무리 문제(UPGRADE)

 

참고

 

길라잡이

  • 명언뿐만 아니라 이미지도 10초에 한번씩 바꿔주세요.

 

 

 

JAVACRIPT

<script>
    function imgLoad(){
        let bgImg = document.querySelector(".bgImg");
        bgImg.src = `https://source.unsplash.com/random/?sky&t=${new Date().getTime()}`;
    }
    imgLoad();

    function nextQuote(){
        fetch("json/dummy01.json")
        .then(res => res.json())
        .then(items => {
            // console.log(items); // 문제의 데이터 불러오기
            const random = Math.floor(Math.random()*30); // 1~29까지의 수 구하기
            // console.log(random);

            const quote = result.querySelector(".quote");
            const author = result.querySelector(".author");

            quote.innerHTML = items.quotes[random].quote;
            author.innerHTML = `-${items.quotes[random].author}`;
        })
        .catch((err) => console.log(err));
    };
    nextQuote();

    setInterval(imgLoad, 10000);    
    setInterval(nextQuote, 10000);
</script>

자바스크립트 구성

  • https://dongjin6539.tistory.com/78에서 추가로 작업을 했습니다.
  • unsplash 페이지에서 사진을 무료로 가져올 수 있습니다.(https://unsplash.com/ko)
  • 함수 imgLoad를 만들어서 실행해줍니다.
  • 코드의 이미지 부분을 선택자로 만들어줍니다.
  • unsplash API에서 이미지를 random으로 가져올 수 있는 소스가 있습니다.
  • img 요소의 src 속성 값을 변경합니다. 이 때, 새로운 이미지를 불러오기 위해 랜덤한 쿼리 파라미터를 추가해서 속성값을 변경하는 코드를 입력해줍니다.
  • imgLoad( );를 입력해서 함수를 실행시켜주고 setInterval( )함수를 사용해서 10초마다 실행되게 해줍니다.

 

참고

Date( )
Date 생성자는 시간의 특정 지점을 나타내는 Date 객체를 플랫폼에 종속되지 않는 형태로 생성합니다.

사용 방법 : new Date( ) 

 

getTime( )
getTime( ) 메서드는 표준시에 따라 지정된 날짜의 시간에 해당하는 숫자 값을 반환합니다.

 

 

728x90
반응형