0

たくさんのボタンがクリックされるたびに発生するアニメーション機能があり、それぞれに特定の何かが発生しますが、アニメーションは毎回発生します。今はクリックの一部になるように設定しているので、毎回再定義しました。一度設定してから、ボタンごとにクリックしたときにその機能を実行すると言うにはどうすればよいですか?

現在、次のように設定されています。

$("#animation1").click(function() {
$("#clinic_850_CONTAINER").animate({
    height: box_TOTAL_ht + 20
}, 300);

$("#staff_850_CONTAINER").animate({
    marginTop: staff_850_CONTAINER_ht * -1
}, 300);

$("#profile_850_HEADER").delay(160).animate({
    top: 10
}, 270);
$("#profile_850_BIO").delay(330).animate({
    top: profile_850_HEADER_ht + 20
}, 400);
$("#profile_850_EDU").delay(450).animate({
    top: profile_850_HEADER_ht + profile_850_BIO_ht + 20
}, 400);
$("#profile_850_CONTACT").delay(570).animate({
    top: profile_850_HEADER_ht + profile_850_BIO_ht + profile_850_EDU_ht + 20
}, 400);

});

ページの読み込み時に実行されるように設定します。クリックが発生するまで実行されないようにするにはどうすればよいですか。

function profile_850_close_animation() {
$("#staff_850_CONTAINER").animate({
    marginTop: 0
}, 300);

$("#clinic_850_CONTAINER").animate({
    height: staff_850_CONTAINER_ht
}, 300);

$("#profile_850_HEADER").animate({
    top: box_TOTAL_ht + 20
}, 300);
$("#profile_850_BIO").animate({
    top: box_TOTAL_ht + 50
}, 450);
$("#profile_850_EDU").animate({
    top: box_TOTAL_ht + 60
}, 450);
$("#profile_850_CONTACT").animate({
    top: box_TOTAL_ht + 70
}, 450);  
}

$("#profile_850_CLOSE").click(profile_850_open_animation());
4

3 に答える 3

2

これらは両方とも機能します。

$("#animation1, #animation2, #animation3").click(function() {
    // existing code
});

また

function animate() {
    //existing code
}
$("#animation1").click(animate);
于 2012-10-13T00:38:06.540 に答える
0

これらを適用するためのセットアップクラス。クリックハンドラーとアニメーションをより適切に調整するには、html構造を確認する必要がありますが、アニメーションのクリックを基準にして指定するか、IDをチェックして、アニメーション化する他の要素を決定することができます。

于 2012-10-13T00:34:40.397 に答える
-1
function animation() {
// Animation code goes here
}

$("#animation1").click(animation);

また、jqueryセレクターを使用して、すべてのボタンを選択し、それらのonclickイベントを一度に割り当てることができます。たとえば、すべてのアニメーションボタンがクラスボタンの場合

$(".animation").click(animation);
于 2012-10-13T00:31:44.123 に答える