2010-02-22 72 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。