我正在创建一个网络应用......
我得到了一种游戏,我的想法是当用户完成每个级别时出现一个带有一些信息的对话框,很好。现在我的问题是我希望在用户点击完成按钮后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)
但是没有用。
提前致谢。
答案 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()
。
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);
});