인프런 커뮤니티 질문&답변

나는나님의 프로필 이미지
나는나

작성한 질문수

[하루 10분|Web Project] HTML/JS/CSS로 나만의 심리테스트 사이트 만들기

QnA 디자인

answer 여러 개 나옵니다.

작성

·

263

1

아무 선택지나 누른 후 새로고침을 하고 다시 시작하기 버튼을 누르면 answer가 여러개가 나옵니다. 크게 불편함은 없지만 신경이 쓰이는데 없애는 방법은 없을까요?
 

답변 3

0

아래처럼 하니 해결됐습니다

let isClickable = true;

function start() {   
    
    main.style.WebkitAnimation = "fadeOut 1s";
    main.style.animation = "fadeOut 1s";
    setTimeout(()=>{            
        qna.style.WebkitAnimation = "fadeIn 1s";
        qna.style.animation = "fadeIn 1s";
        isClickable = false;
        setTimeout(()=>{
            main.style.display = "none";    
            qna.style.display = "block";        
        },450)
        let qIdx = 0;
        goNext(qIdx);        
    },450);     
}


function begin() {
    if(!isClickable) {
        return false;
    }
    isClickable = false;

    start();

    setTimeout(()=>{
        isClickable = true;
    }, 1000)
}

0

새로고침하고 시작하기 버튼을 빠르게 누르면 사라지는 도중에 버튼이 비활성되지 않아 begin() 함수가 여러번 호출되는 것 같습니다.

var start = false;

function begin() {

  if(start) return;

 ...

}

로 임시로 여러번 뜨지 않게 해봤습니다.

판다코딩님의 프로필 이미지
판다코딩
지식공유자

아하!

그 문제라면 button의 css에 disabled 속성을 걸어주면,

더 간편하게 해결할 것 같습니다~

나는나님의 프로필 이미지
나는나
질문자

botton css가 어디있나요?

판다코딩님의 프로필 이미지
판다코딩
지식공유자

시작하기 버튼을 클릭했을 때, 시작하기 버튼에 disabled css 속성을 추가해주면 될 것 같습니다~

나는나님의 프로필 이미지
나는나
질문자

아 이제 안 나오네요 빠른 답변 감사합니다~

0

판다코딩님의 프로필 이미지
판다코딩
지식공유자

https://twelvelovetype.netlify.app/

 

현재 제 수업의 코드로 배포된 사이트입니다.

질문자님이 말씀해주신 현상은 찾아볼 수 없는데,

코드가 제 수업의 내용과 다소 다른 부분이 있는 것 같습니다.

최초 질문자 님이 제시한 절차대로

  1. 시작하기 누르기

  2. 질문지 선택하기

  3. 새로고침

  4. 시작하기 연타

    하니 해당 문제가 있긴 있네요.. 참고로 begin 함수 내에 시작하기 버튼 css disable = true로 줘도 같은 문제가 발생합니다

나는나님의 프로필 이미지
나는나

작성한 질문수

질문하기