单击后Jquery延迟

时间:2012-01-06 02:03:58

标签: javascript jquery html

我正在创建一个网络应用......

我得到了一种游戏,我的想法是当用户完成每个级别时出现一个带有一些信息的对话框,很好。

现在我的问题是我希望在用户点击完成按钮后5秒显示此消息。

那是我的代码:

$('#option-main-menu').click(function(){
        target.append('\
            <div id="confirm">\
                <h1>Are You Sure Want to Exist?</h1>\
                <a href="#" id="dialog-confirm">Yes</a><a href="#" id="dialog-cancel">No</a>\
            </div>\
        ');
    });

我也试过append().Delay(10000)但是没有用。

提前致谢。

7 个答案:

答案 0 :(得分:21)

使用setTimeout()延迟5000毫秒。

$("button").click(
    function() {
        console.log("clicked...waiting...");

        setTimeout(
            function() {
                alert("Called after delay.");
            },
            5000);
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<button type="button">Click Me</button>

出于好奇,你为什么要在提示用户响应某个动作之前等待5秒?那是很长一段时间;足够长的时间让他们点击了其他一些东西(如果没有别的话)。

答案 1 :(得分:11)

您可以尝试使用setTimeout()

Example

setTimeout(function(){
    // do stuff here, in your case, append text
}, 5000);

5000可以替换为确定延迟长度的任何时间值(以毫秒为单位)。

答案 2 :(得分:1)

你不能延迟追加。你只能延迟动画。您可以使用setTimeout或显示最初隐藏的元素,然后将其淡入:

$('<div id="confirm" style="display:none"> ...')
    .appendTo(target)
    .delay(5000)
    .fadeIn(1000);

答案 3 :(得分:1)

尝试:

$('#option-main-menu').click(function(){
    setTimeout(
        function(){
         target.append('\
            <div id="confirm">\
                <h1>Are You Sure Want to Exist?</h1>\
                <a href="#" id="dialog-confirm">Yes</a><a href="#" id="dialog-cancel">No</a>\
            </div>\
        ');
       }
        , 5000);
   });

答案 4 :(得分:0)

$yourThing.click(function(){
    setTimeout(function(){do your thing here},5000)
})

答案 5 :(得分:0)

$("button").click(
    function() {
        console.log("clicked...waiting...");

        setTimeout(
            function() {
                alert("Called after delay.");
            },
            5000);
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<button type="button">Click Me</button>

答案 6 :(得分:0)

这将有效

$("button").click(
function() {
    console.log("clicked...waiting...");

    setTimeout(
        function() {
            alert("Called after delay.");
        },
        5000);
});