http://codepen.io/Lewitje/pen/GjqbbAこの関数はなぜ2回宣言されていますか?コールバック関数はどこで宣言されていますか?
これを見て、何が起こっているのか理解しようとすると、私を落胆させます。私は最近、JavaScriptの深いダイビングを行ってきました。オブジェクト、コンストラクタ、プロトタイプなどを理解していますし、CSSフレームでアニメーションを知っています。これを見ても、おそらく40-50%のjavascriptがあります。そこに書かれている。
1)私は
)(setupLabelsでラベルA1、A2などを取り付けるために使用される.each方法jQueryの(これはJavaScriptに比較的新しいのですか?)2)クラスとコンストラクタが宣言されていることを知っています
3)ダイヤル上にパンチ数を表示するために異なる様々な機能は、移動し、アームを移動させることができる等、それは私のために混乱取得
さて、これは:
setPosition(x, y, callback){
$('.hand').on('transitionend',()=>{
$('.hand').off('transitionend');
setTimeout(function(){
callback();
}, 500);
});
this.calculateVelocity(x, y, (velX, velY)=>{
$('.arm').css({
'top': (y + 35) + 'px',
'transition-duration': velY + 's'
});
$('.hand').css({
'left': (x + 5) + 'px',
'transition-duration': velX + 's',
'transition-delay': velY + 's'
});
});
}
calculateVelocity(x, y, callback){
var currentX = $('.hand')[0].offsetLeft;
var currentY = $('.arm')[0].offsetTop;
var velX = Math.ceil((Math.max(currentX, x) - Math.min(currentX, x))/70);
var velY = Math.ceil((Math.max(currentY, y) - Math.min(currentY, y))/70);
callback(velX, velY);
}
}
私はthis.calculateVelocityがinfactであると推測しています。関数をコールした後、=>コールバック関数を定義していますか?
setPositionのコールバックは定義されていないため、どのように機能しますか?
こんにちは、ありがとうございます。この新しいClassのことは私を混乱させています。通常、関数を使用してメソッドを宣言し、それを別々に呼び出しますが、この場合関数接頭辞は一度も使用されません。 – kshatriiya
@kshatriiyaあなたはもっと具体的になりますか? – JosephGarrone
@JsoephGarrone、上記のコードブロックで、setPosition(x、y、callback){} はメソッド宣言です。メソッドが.jsファイル内のgetPosition()メソッドで呼び出されたので、これを知ることができます。しかし、通常、メソッドを定義したい場合、関数setPosition(x、y、callback){}を実行しますか? – kshatriiya