javascript - 加载消息和设置超时

标签 javascript jquery

我有以下脚本:

$(function() {
    $(".message").hide();

    function simulate_ajax_call()
    {
        $.ajax({
            url: "/echo/json/",
            success: function(){
                alert("done");
                $(".message").empty().html("done");
                $(".message").delay(1000).fadeOut(500);
            }
        });
    }

    $('.button').click(function() {
        $(".message").fadeIn(500);
        setTimeout("simulate_ajax_call()", 5000);
    });
});

使用以下 HTML:

<input type="button" value="button" class="button" />
<div class="message">loading...</div>

由于某些原因,setTimeout 部分无法正常工作。即它似乎不会在 5000 毫秒后调用该函数。

jsFiddle .

最佳答案

你需要替换:

setTimeout("simulate_ajax_call()", 5000);

与:

setTimeout(simulate_ajax_call, 5000);

Check out the working example


您应该避免将 () 放在函数名称的末尾,否则 it gets called/run immediately :)

关于javascript - 加载消息和设置超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4983233/

相关文章:

javascript - 在没有某些 div 的情况下淡入背景

javascript - 在选项卡 Material 设计精简版中添加图标按钮

javascript - 异步API是否应该同步抛出?

javascript - 如何以编程方式单击下拉列表中的 li

javascript - 通过jQuery快速获取元素

javascript - 如何在按钮内使用选择?

javascript - XML 到 jQuery 到字符串?

javascript - jQuery AJAX 响应以字符串 blob 形式出现

javascript - ng test --code-coverage 不打印覆盖率详细信息

javascript - 动态window.open方法的语法