2009-06-03 11 views
0

アニメーションの文字列を変数として定義できますか?例えばアニメーションの文字列を変数として定義する

(これは私が考えるものですが、動作しません?):

var speed = 500; 
var dothis = $("#div").slideUp('speed'); 
      $("#div").slideDown('speed'); 
      $("#div").animate({height: "0px"}, 'speed'); 
$("button").click(function() { 
     $(this).dothis(); 
    }); 

が、私はそれを設定する方法が全くわかりません。

var dothis = function() { 
    $("#div").slideUp('speed'); 
    $("#div").slideDown('speed'); 
    $("#div").animate({height: "0px"}, 'speed'); 
    $("button").click(function() { 
     $(this).dothis(); 
    }); 
} 

し、後ですることができます:あなたは後で一連のアクション...あなただけの機能では、すべてのコマンドをカプセル化することができ、その場合に実行しようとしているように見えます

答えて

1

機能を呼び出すことによって、一度にすべてのコマンドを実行します。

dothis(); 
+0

Yea!これは素晴らしい!ありがとう、ダニエル。 –

1

また、あなたは関数に引数を与えることによって、渡された任意の要素で動作するようにダニエルの機能を拡張することができます。ないそれ自身の行に各エフェクトをかけるか、$(エル).slideUp()のようにそれらを連鎖さの違いがあること、また

var dothis = function(el) { 
    $(el).slideUp('speed'); 
    [...] 

slideDown():例えば、それを要素またはセレクタを渡します。 fade()など。

これらの行を別々の行に置くと、ほとんど同時に実行されますが、連鎖すると順番に実行されます。

関連する問題