Jquery回调函数无法重定向页面

时间:2014-02-05 22:41:32

标签: javascript jquery html css

如何在动画运行后获取第二行的回调函数以重定向用户?我希望它重定向到' nav li a'的href中的链接。

如果我将回调留作""动画工作正常,但什么也没做(如预期的那样)。但是,如果我放任何东西,我认为它会起作用,它会失败,大部分时间也会打破工作的第一线。我只是试图让页面从加载(第一行)开始屏幕外位置滑入。然后先滑出然后重新加载页面(第2行)。

$('section').animate({"left":"0px"}, 450);

$('nav li a').click(function () { $('section').animate({ "left": "1000px"}, 1000, "");
        return false;  
}); 

2 个答案:

答案 0 :(得分:1)

阻止锚点默认操作,存储对锚点的引用,因为animate()的回调创建了一个新范围,然后只是重定向:

$('section').animate({"left":"0px"}, 450);

$('nav li a').on('click', function(e) { 
    e.preventDefault();

    var self = this;

    $('section').animate({ "left": "1000px"}, 1000, function() {
         window.location.href = self.href;
    });
});

答案 1 :(得分:0)

如果我正确地解决了您的问题,此代码就是您所需要的:

var $section = $('section'); 
$section.animate({left: '0px'}, 450);
$('nav li a').click(function(e) { 
    var self = this; 
    e.stopPropagation(); 
    e.preventDefault(); 
    $section.animate({left: '1000px'}, 1000, function() {
        window.location = self.href; 
    });
});