为什么一直停在显示 【正在重新建立文章索引,请稍后(0/400)】

你代码的主要问题是执行$("#maketopicindex").parent().html("。。。。。");之后,#maketopicindex元素就被覆盖掉了,下次再获取$("#maketopicindex")就获取不到了。
num会增加,只是页面上不更新显示了。
应该改成$("#topicindexmsg").html("<font color='orange'>正在重新建立文章索引,请稍后(" + num + "/" + tpages + ")...</font>");

        if (msg == 'ok') {
            if (num <= tpages) {
                $("#topicindexmsg").html("<font color='orange'>正在重新建立文章索引,请稍后(" + num + "/" + tpages + ")...</font>");
                num++;
                maketopicindex();
            } else {
                num = 0;
                $("#topicindexmsg").html("<font color='green'>已完成!</font>");
                return false;
            }
        }