尝试使用链接延迟,但我尝试的任何代码都不工作

Trying to use a link delay, but any code I try isn't working

本文关键字:任何 代码 工作 链接 延迟      更新时间:2023-09-26

我正在尝试创建一个小小的。25秒的链接延迟以及缩放属性,为我的网站添加艺术耀斑。为了看到缩放,我需要一个小的链接延迟。我一直在尝试我在网上找到的代码,但由于某种原因延迟只是不工作。

下面是我尝试过的一个代码片段的例子。

<li><a href="#" onclick="setTimeout(window.document.location='http://******.net/html/****.html',250);">CONTACT</a></li>

你知道为什么它不工作吗?请记住,我只希望页面上的几个链接有这种延迟,所以用JavaScript或jQuery块分配所有具有延迟的a href链接并不理想。

这是一个使用Vb-script的Classic-ASP项目。

<a onclick="return createTimedLink(this, myFunction, 2000);" href="http://******.net/html/****.html">Link</a>

然后是这个

function createTimedLink(element, callback, timeout){
  setTimeout( function(){callback(element);}, timeout);
  return false;
}
function myFunction(element) { 
/* Block of code, with no 'return false'. */
  window.location = element.href;
 }

来源:https://stackoverflow.com/a/6609164/5393628

setTimeout需要一个函数

<li><a href="#" onclick="setTimeout(function() { window.document.location='http://******.net/html/****.html'; },250);">CONTACT</a></li>

0.25秒的延迟难道不会太短而不被注意到吗?然而,这是可行的

<ul>
        <li><a href="#" onclick="goto('http://google.com')">CONTACT</a></li>
        <script>
            function goto(link) {
                setTimeout(function () {
                    document.location = link;
                }, 250);
            }
        </script>
    </ul>

对于你想要放置延迟的每个链接,你可以使用onclick="goto(link)"属性或使用href="javascript:goto(link) "

setTimeout应该接收一个函数作为第一个参数。因此,您必须将onclick处理程序更改为setTimeout(function() { window.document.location='....'; }, 250);