淡出,然后直接转到新页面

时间:2013-11-25 13:57:32

标签: javascript jquery

我有以下代码:wrapper淡出,然后将用户带到URL。然而,它似乎只是淡出一次。我认为这是因为我的浏览器已经缓存/加载了页面,因此比加载更快。

是否可以确保在fadeOut完成之前不调用window.location?我目前的代码:

$('a').click(function (e) {
    e.preventDefault();
    $('.wrapper').fadeOut(1000);
      window.location = this.href;

});

我尝试过回调,但我认为this.href已经改变了?

    $('a').click(function (e) {
        e.preventDefault();
        $('.wrapper').fadeOut(1000, function(){
                    window.location = this.href;
        });
    });

任何帮助都将不胜感激。

http://jsfiddle.net/tmyie/em2Km/1/

1 个答案:

答案 0 :(得分:6)

this内的window.location = this.href;不再是被点击的锚标记,而是作为事件处理程序附加的函数。

尝试:

$('a').click(function (e) {
  e.preventDefault();
  var href = this.href
  $('.wrapper').fadeOut(1000, function(){
    window.location = href;
  });
});