Javascript JS中的多重setimeout

Javascript JS中的多重setimeout,javascript,Javascript,我想推迟两个事件。首先是单击我隐藏的按钮,然后重定向页面。我试了每一个,它正常工作。但当我把它们结合在一起时,它就不起作用了 <a href="<?php echo $model->link; ?>"> <button id="button" style="width:0px; height:0px;" class="btn btn-success"></button> </a> window.setTimeout(func

我想推迟两个事件。首先是单击我隐藏的按钮,然后重定向页面。我试了每一个,它正常工作。但当我把它们结合在一起时,它就不起作用了

<a href="<?php echo $model->link; ?>">
  <button id="button" style="width:0px; height:0px;" class="btn btn-success"></button>
</a>

window.setTimeout(function() {

    document.getElementById("button").click();

}, 3000);

window.setTimeout(function() {

    window.location = "<?php echo Url::to(['index', 'id' => $model->cate_id]); ?>";

}, 3000);

setTimeout(函数(){
document.getElementById(“按钮”)。单击();
}, 3000);
setTimeout(函数(){
window.location=“”;
}, 3000);
我试着这样写

window.setTimeout(function() {

    document.getElementById("button").click();
    window.location = "<?php echo Url::to(['index', 'id' => $model->cate_id]); ?>";

}, 3000);
window.setTimeout(函数(){
document.getElementById(“按钮”)。单击();
window.location=“”;
}, 3000);
但它仍然只是重定向页面,而不是单击按钮


请帮我解决这个问题,谢谢你,如果我理解正确的话,这个按钮不是用户可以点击的,因为你是手动触发点击事件的。因此,请这样尝试:

    <a href="<?php echo $model->link; ?>">
      <button id="button" style="width:0px; height:0px;" class="btn btn-success" onclick="redirect()"></button>
    </a>

    window.setTimeout(function() {

        document.getElementById("button").click();

    }, 3000);

    function redirect() {
         window.location = "<?php echo Url::to(['index', 'id' => $model->cate_id]); ?>";
    }

setTimeout(函数(){
document.getElementById(“按钮”)。单击();
}, 3000);
函数重定向(){
window.location=“”;
}

将onclick事件附加到按钮以触发页面重定向。

它可能会单击按钮,但可能不会。但是你不能告诉它,因为你已经告诉它在同一时间重定向到另一个页面。也许试着在2秒钟后点击按钮,然后在3秒钟后重定向,让按钮有机会做点什么。我试过了,1秒钟后点击按钮,4秒钟后重定向,仍然没有点击为什么要重定向?