Fast Blinking Hello Kitty

JAVASCRIPT

자바스크립트 예제에 랜덤배경 추가해주기

코른이되고싶은코린이 2023. 4. 17. 17:25

728x90

5초마다 바뀌는 명언예제에서 랜덤배경추가

코드블럭

<!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">
    <link rel="stylesheet" href="../homeworkcss/2023.04.15.css">
    <title>Document</title>
    <style>
        * {
    margin: 0;
    padding: 0;
}
body{
    background-image: url(img/oo.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}
.wrap {
    margin: 0 auto;
    height: 100vh;
    display: flex;
    justify-content: center;
    margin-top: 10%;
    
}
.result {
    margin: 0, auto;
    width: 1000px;
    height: 400px;
    border: none;
    text-align: center;
}
.quote {
    display: inline-block;
    font-size: 40px;
    margin-bottom: 50px;
    line-height: 1.5;
}
.author {
    font-size: 25px;
}
    </style>
</head>
<body>
    <div class="wrap">
        <div class="result">
            <p class="quote"></p>
            <p class="author"></p>
        </div>
    </div>
</body>
<script>
    let wise = 0
    const dataQuestion = () => {
    const random = Math.floor( Math.random()*30)
    wise = random 

    fetch("json/dummy01.json")
    .then(res => res.json())
    .then(items => {
        document.querySelector(".result .quote").innerHTML=items.quotes[wise].quote
        document.querySelector(".result .author").innerHTML=items.quotes[wise].author
    });   
};

    const BgImage = () => {
            const backgroundImageUrl = `https://source.unsplash.com/random/?nature&t=${new Date().getTime()}`;
            document.body.style.backgroundImage = `url(${backgroundImageUrl})`;
        }


        dataQuestion()
        BgImage();
    setInterval(dataQuestion,5000)
    setInterval(BgImage, 5000);
</script>

</html>

보충설명

무작위로 선택된 자연 사진을 HTML 문서의 배경 이미지로 설정하고, 일정한 시간 간격으로 배경 이미지를 변경하는 기능을 구현하고 있습니다.

 

BgImage 함수는 https://source.unsplash.com/random/?nature URL을 사용하여 무작위로 선택된 자연 사진을 가져온 뒤, 이를 backgroundImageUrl 변수에 저장합니다.

 

new Date().getTime() 함수를 사용하여 *캐싱을 방지하기 위해 URL에 시간 정보를 추가합니다.

 

document.body.style.backgroundImage 속성을 사용하여 HTML 문서의 배경 이미지를 backgroundImageUrl 변수의 값으로 설정합니다.

 

BgImage() 함수를 한 번 호출하여 초기 배경 이미지를 설정합니다. 그리고 setInterval() 함수를 사용하여 BgImage() 함수를 5초마다 반복 실행하도록 설정합니다. 페이지를 새로 고침하지 않고도 일정한 시간 간격으로 배경 이미지가 변경되도록 구현합니다.

 

 

*캐싱

명령어 데이터 캐시 기억 장치 또는 디스크 캐시에 일시적으로 저장하는 것. 캐싱은 중앙 처리 장치(CPU)가 명령어와 데이터를 주기억 장치 또는 디스크로부터 읽어 오거나 데이터를 주기억 장치 또는 디스크에 기록하는 것보다 몇 배 빠른 속도 또는 CPU의 속도에 가깝게 단축시킴으로써 컴퓨터의 성능을 향상시키기 위한 방법