1

私はまだJQueryを初めて使用します。次のコードを動作させることができないようです。

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

または、これを書き直す他の方法がある場合。

4

2 に答える 2

2

関数の構文が正しくありませanimateん。次のようにしてみてください

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

ワーキングフィドル

$.animateの構文を確認してください

@Tats_innitが彼の回答で説明したように、e.preventDefault();それが単純なボタンであれば必要ないかもしれません。clicking <a> tags takes you to new urlまたはのようなデフォルトのアクションを防ぎたい場合に必要ですform submit

于 2012-06-03T09:41:44.427 に答える
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();
});​
于 2012-06-03T09:50:53.230 に答える