JS代码
<script>
var i = 10;
var intervalid;
intervalid = setInterval('fun()', 1000);
function fun() {
i--;
if (i === 0) {
// window.location.href = 'train_order.php'; //跳转到提示信息页面
clearInterval(intervalid);
}
$(".lv-ticketBookLoading span").text("" + i + "");//显示倒计秒数。
}
</script>
HTML代码
<div id="errorfrm">
<h3>出错啦~~~</h3>
<div id="error">
<p>系统出错,请联系管理员!</p>
<p class="lv-ticketBookLoading">将在 <span id="mes">10</span> 秒钟后返回首页!</p>
</div>
这段代码是可以正常执行。
但是我把JS代码块放在 ajax的success回调执行时,就报错了。我就郁闷了。没找实际问题在哪
success: function (result) {
var i = 10;
var intervalid;
intervalid = setInterval('fun()', 1000);
function fun() {
i--;
if (i === 0) {
// window.location.href = 'train_order.php'; //跳转到提示信息页面
clearInterval(intervalid);
}
$(".lv-ticketBookLoading span").text("" + i + "");//显示倒计秒数。
}
}
fun 函数找不到 怪了。。。
这样就行了,因为你传字符串的时候,是在
全局作用域
里执行的,全局作用域里没有fun
,就报错了;详情戳这定时器里的回调,不要传字符串,再强调一遍,字符传回调是历史用法;