单击按钮后等待打开URL

时间:2019-01-13 10:52:52

标签: javascript html

单击按钮后,由于站点动画,我需要页面等待.8s在同一窗口中打开链接。

下面的超时代码仅在href目标是_blank的情况下才有效,而在目标是默认_self的情况下则无效-链接变为undefined

$("#button").click(function() {

  setTimeout(function(url) {
    window.location = url;
  }, 800, linkUrl);

});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<a href="https://www.w3schools.com"><button id="button">Click</button></a>

如何修复我的代码,以便在单击按钮后在同一窗口中打开新链接之前,代码将等待.8s?

2 个答案:

答案 0 :(得分:1)

如果您单击按钮,则触发锚href。只需删除a标记并设置window.location

$("#button").click(function() {

  setTimeout(function() {
    window.location = "https://www.w3schools.com";
  }, 800);

});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<button id="button">Click</button>

答案 1 :(得分:0)

U应该使用location.href = "url.com"window.open("url.com")而不是标记中。

检查这些帖子以进一步了解 Jquery Delay After Click Open URL in same window and in same tab

$("button").click(
    function() {
        console.log("clicked...waiting...");

        setTimeout(
            function() {
                location.href = "https://stackoverflow.com/questions/8752541/jquery-delay-after-click";
            },
            800);
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<button type="button">Click Me</button>