2016-07-26 10 views
0

私は新しいCSSオブジェクトを作成するには、次の関数を呼び出します。関数内で2種類のパラメータを使用するにはどうすればよいですか?

set(
    dot, { 
     x: mX, 
     y: mY, 
     force3D: !0 
    } 
); 


set: function(el) { 
    alert(el); 

    var dot = $(el).css('-webkit-transform', 'translate3d(' + x + ', ' + y + ', ' + z + ')'); 
    return dot; 
} 

は今、私はより正確には、機能セットの最初のパラメータを取得する方法を疑問に思った:点在しています。 私はすでに試みました:alert(el);しかし、これは私に[オブジェクトオブジェクト]のアラートを与えるでしょう。 el.xを使用してオブジェクトオプションにアクセスできますが、わからない最初のパラメータにアクセスする方法は知っています。

誰かが私を助けることができますか?どうもありがとう!

+0

「el ===ドット」。 'alert'が文字列に変換するため、' [object Object] 'が表示されています。 'console.log(el)'を実行してコンソールを開きます(Windowの場合はF12、OSXの場合はOpt + Cmd + I) –

+0

これはうまく動作しています。コンソールログにすべてのパラメータを追加したときだけ、オブジェクトからの最後の3つは定義されません: 'console.log(el、el.x、el.y、el.z);' – Caspert

+0

ここに何か不足していますか? ''引数 '0''は' el'、 'arguments [1] .x'は' x'などです。[docsを参照](https://developer.mozilla.org/en-US/docs/Web/ JavaScript/Reference/Functions/arguments)を参照してください。 – bishop

答えて

2

これはあなたがやろうとしていることですか?

set = function(el) { 
 
    console.log(el.x); // You can access the properties like this 
 
    console.log(el.y); 
 
    console.log(el.force3D); 
 
    
 
    return dot; 
 
}; 
 

 
// Build the params 
 
var dot = { 
 
    x: 'asdf', 
 
    y: 'asdf', 
 
    force3D: !0 
 
}; 
 

 
// Call the set() method 
 
set(dot);

1

私は何かが欠けする必要がありますが、あなたが送信しているものにアクセスしようとしている場合は、単に形式的なパラメータ名:

set = function(el, params) { 
 
    var dot = $(el).css('-webkit-transform', 'translate3d(' + params.x + ', ' + params.y + ', ' + params.z + ')'); 
 
    return dot; 
 
} 
 

 
set(dot, { x:1.0, y:2.1, z:0.1 });

正式な名前付きパラメータを使用しない場合は、argumentsを使用してください。

関連する問題