2014-02-05 40 views
0

如何在第二行獲取回調函數以在動畫運行後重定向用戶?我希望它重定向到'nav li a'的href鏈接。Jquery回調函數不工作重定向頁面

如果我將回調作爲「」,則動畫可以正常工作,但不會執行任何操作(如預期的那樣)。但是,如果我放任何我認爲會奏效的東西,它就會失敗,大部分時間也會打破第一道工作。我只是試圖讓頁面從載入時的屏幕外位置(第一行)開始滑入。然後先滑出然後重新加載頁面(第二行)。

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

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

回答

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; 
    }); 
}); 
+0

謝謝soooooo多!!!我一直試圖這樣做一個星期。這工作。我會標記爲已回答 – user3200593

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; 
    }); 
}); 
+0

是的,非常感謝。這工作! – user3200593