setInterval(changeImg, 2000);
function changeImg() {
let phoneScreen__Imgs = [
"https://www.instagram.com/static/images/homepage/screenshot1-2x.jpg/9144d6673849.jpg",
"https://www.instagram.com/static/images/homepage/screenshot2-2x.jpg/177140221987.jpg",
"https://www.instagram.com/static/images/homepage/screenshot3-2x.jpg/ff2c097a681e.jpg",
"https://www.instagram.com/static/images/homepage/screenshot4-2x.jpg/b27a108592d8.jpg",
"https://www.instagram.com/static/images/homepage/screenshot5-2x.jpg/5e04169b9308.jpg",
];
phoneScreen.src = phoneScreen__Imgs[phoneScreen__Idx];
phoneScreen__Idx = phoneScreen__Idx + 1;
if (phoneScreen__Idx >= phoneScreen__Imgs.length) {
phoneScreen__Idx = 0;
}
}
setIntervval함수로 배열에 저장한 사진을 index를 이용해서 변경시키는 코드를 작성했다.
loginForm.addEventListener("input", handleInput);//form에 input eventListner추가
//form에 input event일어났을 때 실행할 함수
function handleInput(event) {
const inputTarget = event.target;//input event일어난 target element
//input event일어난 target의 place holder(span)
const inputTargetPlaceholder = inputTarget.nextElementSibling;
if (inputTarget.value) {//만약 value 있으면
//placeholder(span)&value 위치 바꾸는 함수실행
upPlaceholderANDdownText(inputTarget, inputTargetPlaceholder);
} else {//value 없으면
//placeholder(span)&value 위치 원래대로 바꾸는 함수실행
downPlaceholder(inputTarget, inputTargetPlaceholder);
}
}
function upPlaceholderANDdownText(input, placeholder) {
placeholder.classList.add(`${placeholder.classList[0]}Upper`);
input.classList.add("downText");
}
function downPlaceholder(input, placeholder) {
placeholder.classList.remove(`${placeholder.classList[0]}Upper`);
input.classList.remove("downText");
}
placeholder를 위로올리고, 글씨를 썼을 때도 placeholder가 계속 있어야 했는데 그게 안됐다. 그래서 span을 넣고, position : absolute 속성을 줘서 placeholder 처럼 보일 수 있도록 만들어 줬다. 이렇게 하니까 transition도 줄 수 있어서 좋았다.
ID랑PW에서 거의 같은 기능을 하는 코드를 짯는다. event가 발생 했을 때 바뀌어야 하는 el이 다르니까 어떻게 해야할 지 몰랐는데 .nextElementSibling선택자가 아주 큰 도움을 주었다.
loginForm.addEventListener("input", handleInput);//form에 input eventListner추가
//form에 input event일어났을 때 실행할 함수
function handleInput(event) {
const inputTarget = event.target;
const inputTargetPlaceholder = inputTarget.nextElementSibling;
if (inputTarget.value) {//만약 value 있으면
upPlaceholderANDdownText(inputTarget, inputTargetPlaceholder);
isFill();//ID, PW input모두에 value 있는지 확인하는 함수 실행
} else {//value 없으면
downPlaceholder(inputTarget, inputTargetPlaceholder);
isFill();//ID, PW input모두에 value 있는지 확인하는 함수 실행
}
}
function isFill() {
if (loginInputs[0].value && loginInputs[1].value) {//ID, PW input모두에 value 있다면
loginBtn.classList.remove("btn-disabled");//btn비활성화 class 지움
} else {
loginBtn.classList.add("btn-disabled");//btn비활성화 class add
}
}
박,,,근혜,,,석방,,,하라,,,