Javascript if语句(JS)中延迟的div显示
我需要在触发另一个事件后触发div的延迟显示 因此,在这种情况下,用户从下拉菜单中选择一个选项,该选项将加载一组问题。在执行此操作时(当加载问题集时),我希望在5秒后显示一个包含提交和取消按钮的div-延迟的原因是,如果问题需要一两秒钟才能加载,则用户无法在加载之前单击提交 以下是问题加载的代码:Javascript if语句(JS)中延迟的div显示,javascript,html,css,ajax,Javascript,Html,Css,Ajax,我需要在触发另一个事件后触发div的延迟显示 因此,在这种情况下,用户从下拉菜单中选择一个选项,该选项将加载一组问题。在执行此操作时(当加载问题集时),我希望在5秒后显示一个包含提交和取消按钮的div-延迟的原因是,如果问题需要一两秒钟才能加载,则用户无法在加载之前单击提交 以下是问题加载的代码: if (val) { // AJAX up some questions... $('#questions').load('/registration/questions/'+va
if (val) {
// AJAX up some questions...
$('#questions').load('/registration/questions/'+val);
} else {
$('#questions').html("");
}
以下是我尝试延迟div显示的代码,该代码在加载页面时有效,但在激活if(val)后我需要它工作:
function showButtons() {
document.getElementById("delay-buttons").style.display = "block";
}
// adjust this as needed, 1 sec = 1000
setTimeout("showButtons()", 5000);
我希望这是有意义的。在条件为真后立即调用
设置超时
,否则清除超时
?@MelanciaUK抱歉,我对JS不太在行。。。我更改了代码,以便在事件中显示div,效果很好(下面的代码),我现在只需要添加延迟,但我不知道如何集成它。代码:document.getElementById(“延迟按钮”).style.display=“块”;如果在AJAX调用完成时正在处理布局,则应在该调用的complete
事件中完成所有这些操作。这是一个异步调用,因此它不会等到完成后才在代码中执行,因此会过早地(很可能)更改布局。无论问题加载的速度有多快或多慢,按钮是否必须在用户选择选项后正好显示5秒?或者在问题加载后立即显示按钮是否可行?这可以通过将回调函数作为第二个参数传递给调用load
函数来实现。有关详细信息,请参阅。