2010-02-22 70 views
2

我有多個顯示/隱藏div的鏈接(使用slideDown())。每一個環節都如何防止在jQuery動畫過程中跳轉到屏幕頂部

<a href="#">Link</a> 

每當你點擊鏈接,它就跳回到屏幕的頂部,而它動畫。我假設這是因爲#。有沒有什麼辦法讓jQuery專注於動畫而不是每次都跳到屏幕的頂部?謝謝

回答

5

在onclick處理程序,禁用錨元素的默認動作...

$('a').click(function(e) {
e.preventDefault();
// ANIMATION STUFF GOES HERE...
});

2

您將需要返回false您綁定到該鏈接的點擊事件的功能。

+0

這是錯的,他不會有。他可以這樣做。但是如果他希望事件冒泡,他應該只調用'preventDefault'並且不要從函數返回false。 – 2010-02-22 13:03:24

+0

所以,如果我提出的建議是有效的,而且這個問題沒有提到事件冒泡,那它是怎麼回事? – 2010-02-22 13:38:07

+0

什麼是事件冒泡? – axsuul 2010-02-22 19:27:36

0

在點擊功能結束時使用return false

$(function(){ 
    $("#an1").click(function(){ 
     // your animation code 
     return false; 
    }); 
}); 

<a id="an1" href="#">click me</a> 
0

在事件處理函數,使用e.preventDefault();,假設e是事件對象。或者,從處理函數返回false。