dukDukz
2021.03.23 사진 슬라이드 _ js 본문
1. 첫번째 방법 move_img.html
더보기
<!DOCTYPE html>
<html lang="en">
<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>move_img</title>
<style>
* {
margin: 0;
padding: 0;
}
#wrap{
width: 100%;
height: 300px;
}
#img_box{
width: 1920px;
height: 500px;
position: absolute;
overflow: hidden;
}
ul,li{
list-style: none;
}
#img_ul>li{
float: left;
display: inline-block;
}
.li_1>img{
width: 1920px;
height: 500px;
float: left;
}
</style>
</head>
<body>
<div id="wrap">
<div id="img_box">
<ul id="img_ul">
<li class="li_1"><img src="./img/visual1.png" alt="이미지1"></li>
<li class="li_2"><img src="./img/visual2.png" alt="이미지1"></li>
<li class="li_3"><img src="./img/visual3.png" alt="이미지1"></li>
</ul>
</div>
</div>
<script type="text/javascript">
function moveImg(){
visual_ul = document.querySelector('#img_ul'); //ul가져옴
li = document.querySelectorAll('#img_ul>li');
visual_ul.appendChild(li[0]);
console.log(visual_ul);
}
setInterval(moveImg, 3000);
</script>
</body>
</html>
visual_ul.appendChild(li[0]);
이 부분을 추가해줬다.
li 를 보면 0번째 li가 계속 밑으로 오는게 반복하는 것을 알 수 있다.
+ 첫번째 방법 추가 설명
더보기
[Element, Element, Element]
0 1 2
각각의 엘리먼트를 담고 있는 배열 값으로 반환이 된다.
--> li 전체를 (유사)배열 형태로 저장한다.
<!DOCTYPE html>
<html lang="en">
<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>
<style>
* {
margin: 0;
padding: 0;
}
#root {
width: 100%;
height: 300px;
}
#container {
width: 1920px;
height: 500px;
position: absolute;
overflow: hidden;
}
ul,
li {
list-style: none;
}
#img_ul>li {
float: left;
display: inline-block;
}
.li_1>img {
width: 1920px;
height: 500px;
float: left;
}
</style>
</head>
<body>
<div id="root">
<div id="container">
<ul id="banner" class="visual">
<li><img src="./img/visual1.png"></li>
<li><img src="./img/visual2.png"></li>
<li><img src="./img/visual3.png"></li>
</ul>
</div>
</div>
<script type="text/javascript">
function banner(){
banner = document.querySelector('#banner'); // ul안에 있는 모든 것을 가져온다. ul 내용을 엘리먼트 데이터 타입으로 저장한 것
li = document.querySelectorAll('#banner > li'); // li 전체를 배열로 반환받는다.
/*
[Element, Element, Element]
0 1 2
각각의 엘리먼트를 담고 있는 배열 값으로 반환이 된다.
*/
banner.appendChild(li[0]); // 맨 앞에 있는 li를 항상 밑으로 보낸다.
}
setInterval(banner,5000);
/*
setInterval([],[]);
함수 int(시간)
인자 값이 하나, 둘, 셋이 들어가는 경우.
*/
</script>
</body>
</html>
2. 두번째 방법 ex.html
더보기
<!DOCTYPE html>
<html lang="en">
<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>
<style>
* {
margin: 0;
padding: 0;
}
#root {
width: 100%;
height: 300px;
}
.container {
width: 1920px;
height: 500px;
position: absolute;
overflow: hidden;
}
ul,
li {
list-style: none;
}
#img_ul>li {
float: left;
display: inline-block;
}
.li_1>img {
width: 1920px;
height: 500px;
float: left;
}
</style>
</head>
<body>
<div id="root">
<div class="container">
<ul class="visual_box">
<li><img src="./img/visual1.png"></li>
<li><img src="./img/visual2.png"></li>
<li><img src="./img/visual3.png"></li>
</ul>
</div>
</div>
<script>
function moving() {
box = document.querySelector('.visual_box');
li = document.querySelector('li');
box.removeChild(li);
box.appendChild(li);
}
setInterval(moving, 1000);
</script>
</body>
</html>
참고 블로그
1.
appendChild(), insertBefore()
2.
removeChild(), replaceChild()
'웹 개발 > JAVASCRIPT' 카테고리의 다른 글
2021.03.25 경일 배너 만들기 (애니메이션) (0) | 2021.03.25 |
---|---|
2021.03.25 JS Document. 의 활용 (0) | 2021.03.25 |
2021.03.24 JS에 대해 (0) | 2021.03.24 |
To do list_ Array 배열 없이 요소 삭제하기 (4) | 2021.03.23 |
2021.03.22 To do list (0) | 2021.03.22 |