gpt4 book ai didi

javascript - 在 setTimeout 内调用函数时引用错误

转载 作者:行者123 更新时间:2023-11-28 16:13:10 24 4
gpt4 key购买 nike

我在 setTimeout 函数中不断收到引用错误。
下面是javascript文件中的代码

( function( $, undefined ) {

$( document ).ready( init );

function init() {
registerEventListeners();
}

function registerEventListeners() {
$( '.start_countdown').click( handleStart );
$( '.end_countdown').click( handleEnd );
}

var countdown;
var countdown_number;

function handleStart() {
countdown_number = 11;
countdown_trigger(countdown_number);
}

function countdown_trigger() {
if (countdown_number > 0) {
countdown_number --;
document.getElementById('countdown_text').innerHTML = countdown_number;
if (countdown_number > 0) {
countdown = setTimeout('countdown_trigger()', 1000);
}
}
}

function handleEnd() {
clearTimeout(countdown);
}

})( jQuery );

在jade.js文件中:

extends layout

append scripts
script(src='/javascripts/countDownRedirect.js')

block content
h1= title

p Redirecting you to your documents shortly

div
button.start_countdown#start Start Countdown
button.end_countdown#end End Countdown

div#countdown_text Placeholding text

引用错误:“countdown_trigger()”未定义

页面加载后,一切似乎都工作正常。
单击开始按钮会显示 10,但随后会引发引用错误。有什么建议吗?
谢谢

最佳答案

当您在 setTimeout 中使用引号时,您将调用 eval,这不是一个好主意。尝试传递对函数的引用而不是字符串:

countdown = setTimeout(countdown_trigger, 1000);

关于javascript - 在 setTimeout 内调用函数时引用错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12273668/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com