延迟链接点击所有页面链接

sal*_*lem 2 html javascript jquery

我正在寻找一种方法让页面上的每个链接延迟一秒,以便可以发生淡出动画本质上,您单击图像上的区域并且图像淡出,但如果没有延迟,没看到动画.我在这张图片上有4个区域.两个转到第A页,两个转到第b页.有什么想法吗?

sim*_*aun 7

您可以捕获(并暂停)链接单击事件并设置超时以在1000ms后重定向到链接的href属性.

使用jQuery:

$("#a_context a").click(function(e) {
  e.preventDefault();
  var destination = $(this).attr('href');
  setTimeout(function() { window.location.href = destination; }, 1000);
});
Run Code Online (Sandbox Code Playgroud)

不确定这是不是最好的方式,但我能想到的只是.

  • 是的,我知道,但这并不能使我的答案变得不那么重要.如果他希望直接使用JS,那么获取我的代码的含义并不难.这个概念很重要. (5认同)
  • jQuery!= JavaScript. (2认同)

Ste*_*hen 5

你可以用jQuery做到这一点:

$('a').click(function(e) {
    var anchor = $(this), h;
    h = anchor.attr('href');
    e.preventDefault();
    anchor.animate({'opacity' : 0}, 1000, function() {
        window.location = h;
    });
});
Run Code Online (Sandbox Code Playgroud)

  • 他没有说他正在使用jQuery.请不要给jQuery答案JavaScript问题,jQuery!= JavaScript. (9认同)
  • 不要因为我使用jQuery而认为我是个白痴. (8认同)
  • 对不起你有问题,但是真的,这是你的问题.OP表示"我正在寻找一种方法,让页面上的每个链接都延迟一秒钟." 我给了他一个方法. (3认同)
  • @Stephen:我没有,也没有说我做过.(我也使用jQuery.)我说,并非每个人都这样做,除非OP说他做了,否则给出jQuery特定的JavaScript问题答案是不对的.也可以告诉他如何使用Silverlight. (2认同)
  • @Stephen:我同意你的看法,即使我不使用jQuery.@TJ:jQuery就像复制粘贴普通JS一样,是其他人做的. (2认同)