2012-06-03 60 views
1

我对JQuery还很陌生。我似乎无法得到下面的代码工作。Jquery动画造型?

$('.announcement_panel_button').click(function(e){ 
    $('#site_logo').animate(function(){ 
     $(this).css('margin-top', '5px') 
    }, 5000); 
    e.preventDefault(); 
}); 

或者如果还有其他方法来重写这个。

回答

2

animate函数的语法是不正确的,尝试一下像

$('.announcement_panel_button').click(function(e){ 
    $('#site_logo').animate({'margin-top':'5px'},5000); 
    e.preventDefault(); 
}); 

Working Fiddle

检查$.animate

由于@Tats_innit在他的回答解释了语法,e.preventDefault();可能不是必要的,如果这是一个简单的按钮。当您想要阻止默认操作,如clicking <a> tags takes you to new urlform submit时,需要此选项。

+0

尼斯:)感谢您的帮助。 – Lawrence

+0

非常欢迎您,很高兴能够提供帮助。 :) –

1

你好演示http://jsfiddle.net/PCk7E/1/http://jsfiddle.net/PCk7E/ http://jsfiddle.net/PCk7E/1/show/

有图像下方的click me按钮。

我做了一个小改动。休息你可以看到上面的帖子以及示例演示。

对API的良好读取:

1)http://api.jquery.com/event.preventDefault/

2)

我会建议读两。

preventDefault:如果调用此方法,则不会触发该事件的默认操作。即被点击的锚点不会将浏览器带到新的URL。我们可以使用event.isDefaultPrevented()来确定此方法是否被该事件触发的事件处理程序调用。

代码

$('.announcement_panel_button').click(function() { 
    $('#site_logo').animate({ 
     'margin-top': +50 
    }, 500); 
    // e.preventDefault(); 
});​ 
+0

感谢您的资源。现在读。 – Lawrence