Javascript if语句(JS)中延迟的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

我需要在触发另一个事件后触发div的延迟显示

因此,在这种情况下,用户从下拉菜单中选择一个选项,该选项将加载一组问题。在执行此操作时(当加载问题集时),我希望在5秒后显示一个包含提交和取消按钮的div-延迟的原因是,如果问题需要一两秒钟才能加载,则用户无法在加载之前单击提交

以下是问题加载的代码:

  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
函数来实现。有关详细信息,请参阅。