처음 올려서 죄송합니다..
효과를 만들고 싶은데 마우스가 2초 동안 유지되면 일부 기능이 2초 이상 실행되지 않습니다.
그러다가 발견했습니다. 저는 setTimeout 함수를 온라인으로 사용해 성공적으로 해결했습니다. 왜냐하면 제가 독학을 했기 때문입니다. 그래서 제 기초가 약하고 제가 이해하지 못하는 몇 가지 사항을 설명해야 합니다
코드에는 총 3개의 질문이 댓글로 달려있습니다. 정말 감사드립니다!
코드:
世界只因有你2017-05-19 10:40:43
setTimeout
은 타이머 번호인 정수 ID를 반환합니다. 변수를 미리 선언하는 것은 자연스럽게 숫자를 저장하는 데 사용됩니다.
setTimeout
会返回一个整数id,是计时器编号,提前声明一个变量自然是存储编号用了;
为什么不能在这里声明?要知道var
是函数作用域的,在function
里边声明的变量一出去就没了,你叫另一个匿名函数的clearTimeout
到哪去找这个变量?
这里的if
主要是严谨,在setTimeout
成功返回计时器编号(因为初始是null,如果没返回肯定就false了)的情况下,才会执行clearTimeout(timer)
var
가 함수 범위에 있다는 것을 알아야 합니다. function
에 선언된 변수는 내보내는 즉시 사라집니다. > 이 변수는 어디서 찾을 수 있나요? if
는 주로 setTimeout
가 타이머 번호를 성공적으로 반환한 경우에만 발생합니다(초기 값이 null이기 때문에 반환하지 않으면 확실히 발생합니다). false) 이전 실행 오류가 발생했을 때 해당 오류 코드가 계속 실행되지 않도록 clearTimeout(timer)
문장을 실행합니다. 🎜🎜
🎜ringa_lee2017-05-19 10:40:43
우선, setTimeout 타이머는 사용 후 지워집니다. 어떤 타이머를 지울지 알기 위해서는 타이머 변경이라는 변수를 추가해야 합니다.
둘째, 기능 범위. 내부 변수는 함수 외부에서 직접 접근할 수 없으므로, 다른 함수에서 사용하려면 함수 외부에서 변수를 정의해야 합니다.
마지막 if(타이머)는 주로 타이머가 닫힐 때 명확한 오류가 발생하는 것을 방지하는 것입니다.