".slick-next"버튼을 클릭하면 브라우저가 3 초 동안 기다린 다음 loadPHP() 함수를 실행합니다. 아래 코드는 이론적으로는 작동하지만 보이지는 않는 것 같습니다. setTimeout 함수는 페이지가로드 될 때 한 번 실행되지만 다음 버튼을 클릭하면 아무 것도 수행하지 않습니다.jQuery로 setTimeout을 즉시 실행 하시겠습니까?
var timeout = null;
$(".slick-next").click(nextButton(timeout));
var nextButton = (function(timeout) {
window.clearTimeout(timeout);
timeout = setTimeout(function() {
loadPHP();
}, 3000);
});
전체 jQuery 표현식을 setTimeout에 래핑하려고했으나 작동하지 않습니다. 3 초 동안 버튼을 클릭 할 수 없지만 끝까지 클릭 할 수는 있습니다.
setTimeout(function() {
$(".slick-next").click(nextButton(timeout));
}, 3000));
왜 이런 현상이 발생합니까?
'click'은'nextButton'이 반환하는 함수가 아니라'undefined'가 아닌 함수를 기대합니다. 아마도'.click (nextButton)'을 원할 것이고, 또한 JS에서 참조에 의한 참조가 없다는 것에 주목하자. – elclanrs
@elclanrs 이것을 확장 할 수 있습니까? – aaronmcavinue
http://jsfiddle.net/0y1gzf94/ –