设置执行Javascript函数的时间?

设置执行Javascript函数的时间?,javascript,jquery,settimeout,Javascript,Jquery,Settimeout,我的Wordpress插件中连接了以下函数 function before_submit() { document.getElementById('page-loader').style.display='block'; } 此钩子在提交表单之前被调用。现在,我想做的是在实际提交表单之前,获取divid页面加载器的特定秒数。我读过关于settimeout函数的内容,并尝试了一些东西,但我无法让它工作。我猜settimeout函数是在一定的秒数之后运行脚本,而不是在一定的秒数之后运行脚

我的Wordpress插件中连接了以下函数

function before_submit() { 
    document.getElementById('page-loader').style.display='block';
}
此钩子在提交表单之前被调用。现在,我想做的是在实际提交表单之前,获取divid
页面加载器
的特定秒数。我读过关于settimeout函数的内容,并尝试了一些东西,但我无法让它工作。我猜settimeout函数是在一定的秒数之后运行脚本,而不是在一定的秒数之后运行脚本,对吗

因此,我希望脚本的“运行时间”为4秒。现在它运行脚本并立即提交表单

尝试过这个,但不起作用:

function before_submit()
{

function partA() {
document.getElementById('page-loader').style.display='block';
  window.setTimeout(partB,1000)
}

function partB() {
//let's go submit the form
}
}
请帮帮我。 非常感谢你

这可能对你有用。 首先在单击按钮上调用before_submit函数,然后调用page loader函数,几秒钟后它将提交表单

<form action="asd.html" method="post" id="myForm">
<input type="button" onclick="before_submit()" />
</form>

<Script>
function before_submit()
{
// document.getElementById('page-loader').style.display='block';
 setTimeout(to_submit_form,5000);
}

function to_submit_form(){
alert("submit");
 document.getElementById("myForm").submit();
}

</script>

_submit()之前的函数
{
//document.getElementById('page-loader').style.display='block';
setTimeout(提交表格,5000);
}
提交表单()的函数{
警报(“提交”);
document.getElementById(“myForm”).submit();
}

您必须防止默认行为,例如使用

这是您正在寻找的格式:

// Note, in the fiddle, this is run during the window.onload event.
var test = document.getElementById('test');

test.addEventListener('submit', function before_submit(e){
    document.getElementById('wait').style.display = 'block';

    setTimeout(function wait(){
        // After waiting for five seconds, submit the form.
        test.submit();
    }, 5000);

    // Block the form from submitting.
    e.preventDefault();
});

我不确定是否理解您的要求,但请检查功能运行几秒钟是什么意思?一旦你运行了它,就是这样。你是通过Ajax提交表单的吗?如果是这样,
setTimout
将不起作用,请使用回调函数希望用户单击按钮,并让代码延迟表单提交,直到计时器完成为止?请让函数设置样式,然后它可以使用
setTimeout
在一定时间后运行另一个函数来提交表单。您不会使用
setInterval()
。为什么要每3秒钟连续重新提交一次表单?抱歉,请再次检查此项。。!(测试)谢谢,看看你在做什么,但它不起作用。由于某些原因,表单不会等待
提交表单。。它在完成加载后发送表单。我还尝试将
to_submit_表单
实现到
before_submit
中,但没有成功…尝试添加该表单,但它到底应该做什么?在提交()之前,函数需要什么代码?函数在提交()之前{//document.getElementById('page-loader').style.display='block';setTimeout(to_submit_form,5000);}函数在提交表单()之前{alert(“submit”);document.getElementById(“myForm”).submit()将不起作用,出于某种原因,它只是提交表单。@TT-因为您必须阻止
submit
事件;wormonic显示的内容不起作用,因为
返回false
位于错误的元素上。更多详细信息,请参阅我的答案(使用不同的表单阻止提交)。Jared是对的,请这样尝试。非常感谢您的回复。我查看了JSFIDLE,这确实是我想要的。然而,我试图以我的形式实现这一点,但无法让它像那样工作。我的表单id=
form11
,我的等待div id是
页面加载器
。如何在我的代码中实现这一点?再次感谢!您是否注意到在
窗口.onload
事件中提到它正在运行?如果能投上一票,并标上答案,那就太好了<代码>;)谢谢,我应该可以从这里找到答案(Y)