向链接添加延迟

时间:2018-10-02 10:46:57

标签: javascript jquery html css

我已经搜索了这个问题,并得出结论

$("a").click(function(e){
    e.preventDefault();
    var link = $(this).attr("href");
    setTimeout(function() {
    alert(link);
        window.location.href = link;
    }, 1000);
});

但是应该按照我喜欢的方式工作,当我使用它时,它将转到链接设置到的位置。

2 个答案:

答案 0 :(得分:0)

您的代码实际上很好。不过,由于您破坏了a事件的默认功能,因此您可以考虑以其他方式实现该目标。

$(document).on('click', 'a', function(e){
    e.preventDefault();
    var link = $(this).attr("href");
    setTimeout(function() {
       alert(link);
       window.location.href = link;
    }, 1000);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<a href="https://www.google.com">Click me</a>

答案 1 :(得分:-1)

尝试一下:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Dev</title>
<script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="    crossorigin="anonymous"></script>
</head>
<body>
  <a href="https://localhost/sip-js"> test </a>
</body>
<script>
 $("a").click(function(e){
    var link = $(this).attr("href");
    setTimeout(function() {
    alert(link);
        window.location.href = link;
    }, 5000);
    e.preventDefault();
});
</script>
</html>