在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ ajax回調(diào)函數(shù),success中執(zhí)行settimeout報錯

ajax回調(diào)函數(shù),success中執(zhí)行settimeout報錯

JS代碼

<script>
var i = 10;
var intervalid;
intervalid = setInterval('fun()', 1000);
function fun() {
    i--;
    if (i === 0) {
        // window.location.href = 'train_order.php'; //跳轉(zhuǎn)到提示信息頁面
        clearInterval(intervalid);
    }
    $(".lv-ticketBookLoading span").text("" + i + "");//顯示倒計秒數(shù)。
}
</script>

HTML代碼

<div id="errorfrm">
    <h3>出錯啦~~~</h3>
<div id="error">
    <p>系統(tǒng)出錯,請聯(lián)系管理員!</p>
    <p class="lv-ticketBookLoading">將在 <span id="mes">10</span> 秒鐘后返回首頁!</p>
</div>

這段代碼是可以正常執(zhí)行。
但是我把JS代碼塊放在 ajax的success回調(diào)執(zhí)行時,就報錯了。我就郁悶了。沒找實際問題在哪

 success: function (result) {
      var i = 10;
    var intervalid;
    intervalid = setInterval('fun()', 1000);
    function fun() {
        i--;
        if (i === 0) {
            // window.location.href = 'train_order.php'; //跳轉(zhuǎn)到提示信息頁面
            clearInterval(intervalid);
        }
        $(".lv-ticketBookLoading span").text("" + i + "");//顯示倒計秒數(shù)。
    }
 }


clipboard.png
fun 函數(shù)找不到 怪了。。。

回答
編輯回答
青檸
intervalid = setInterval(fun, 1000);

這樣就行了,因為你傳字符串的時候,是在全局作用域里執(zhí)行的,全局作用域里沒有 fun ,就報錯了;詳情戳這

定時器里的回調(diào),不要傳字符串,再強調(diào)一遍,字符傳回調(diào)是歷史用法;

2017年1月6日 19:20