如何在确认框的返回语句上添加延迟?我已经尝试过使用setTimeout,但是它不起作用。
我的想法是显示模式5秒钟,然后将用户带到登出页面。
<a href='signout.cgi?id=$key' onclick='singOutConfirm()'> Sign Out</a>
function singOutConfirm(){
var c = confirm("Confirm Sign Out!");
var modal = document.getElementById('myModal');
console.log(c);
if(c == true ) {
setTimeout(function(){
return c;
}, 5000);
}
return c;
答案 0 :(得分:0)
您长官,需要一个Promise。
但是有两件事
window.location.href = 'signout.cgi?id=$key'
function signOutConfirm (e) {
e.preventDefault()
const c = confirm("Confirm Sign Out!");
const modal = document.getElementById('myModal');
console.log(c);
if(c) {
return new Promise((resolve) => {
setTimeout(() => {
window.location.href = 'signout.cgi?id=$key'
resolve(c)
}, 5000);
})
}
return Promise.resolve(c);
}
console.time('Signing out')
signOutConfirm()
.then(c => {
console.timeEnd('Signing out')
console.log(c)
})