Jquery Animate造型?

时间:2012-06-03 09:38:04

标签: jquery css jquery-animate

我还是JQuery的新手。我似乎无法使用以下代码。

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

或者,如果有其他方法可以重写此内容。

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

Hiya 演示 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)http://api.jquery.com/animate/

我建议你们阅读。

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

<强>代码

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