>  Q&A  >  본문

javascript - 타이머 및 연속 클릭 방지에 대한 질문

으아악

위와 같이 vsg를 사용하여 30개의 원을 무작위로 생성했습니다. 각 원을 클릭하면 DOM 트리에서 삭제될 때까지 원이 하나씩 더 커지고 투명해지기를 바랍니다. , 하지만 빠르게 두 번 클릭하면 아래와 같은 오류가 나타납니다.

타이머 작성에 문제가 있는 것 같은데 스스로 해결이 안되네요. 프론트엔드 초보라서 JS 기초가 너무 약해서 선배님들께 잘 가르쳐주세요 O(∩_ ∩)오~

高洛峰高洛峰2676일 전1001

모든 응답(2)나는 대답할 것이다

  • 给我你的怀抱

    给我你的怀抱2017-06-21 10:14:14

    으아악

    이렇게 작성하세요. 먼저 노드가 아직 존재하는지 확인하고, 존재하면 삭제하고, 존재하지 않으면 rmeovechild가 아닙니다

    세상은 너무 넓어서 보고 싶어요

    회신하다
    0
  • 代言

    代言2017-06-21 10:14:14

    타이머 자체에는 문제가 없습니다

    빠르게 더블클릭하면 svg로 그린 원에는 두 개의 타이머가 실행되도록 설정되어 있습니다. 첫 번째 타이머가 o<0.01에 도달하면 클릭한 원이 삭제됩니다.
    두 번째 타이머도 이 조건에 도달하면 삭제 작업을 수행할 때 DOM에서 삭제해야 할 개체가 존재하지 않는 것을 발견하므로 표시되는 오류가 발생합니다.

    해결 방법은 판단 조건을 추가하는 것입니다. 현재 원에 타이머가 설정된 경우 후속 코드는 실행되지 않습니다.

    으아악

    회신하다
    0
  • 취소회신하다