質問

以下の変換パターンをどのように繰り返しますか?

BoxesFx.prototype._setTransforms = function() {
    this.transforms = {
        'effect-1' : {
            'next' : [
                'translate3d(0, ' + (win.height/2+10) + 'px, 0)', 
                'translate3d(-' + (win.width/2+10) + 'px, 0, 0)', 
                'translate3d(' + (win.width/2+10) + 'px, 0, 0)',
                'translate3d(0, -' + (win.height/2+10) + 'px, 0)', 
            ],
            'prev' : [
                'translate3d(' + (win.width/2+10) + 'px, 0, 0)',
                'translate3d(0, ' + (win.height/2+10) + 'px, 0)',
                'translate3d(0, -' + (win.height/2+10) + 'px, 0)',
                'translate3d(-' + (win.width/2+10) + 'px, 0, 0)'
            ]
        }}}
.

基本的には、次のようにしています。

'translate3d(0, ' + (win.height/2+10) + 'px, 0)', 
'translate3d(-' + (win.width/2+10) + 'px, 0, 0)', 
'translate3d(' + (win.width/2+10) + 'px, 0, 0)',
'translate3d(0, -' + (win.height/2+10) + 'px, 0)'
.

N回数を繰り返すことができると、コピーして3回貼り付けずにNが3になると言えます。配列を複製する方法はありますか?私は混乱しているかもしれないような気がします。私がそれをよく説明したことを願っています

役に立ちましたか?

解決

の外側の配列を定義する
var translate =[
   'translate3d(0, ' + (win.height/2+10) + 'px, 0)', 
   'translate3d(-' + (win.width/2+10) + 'px, 0, 0)', 
   'translate3d(' + (win.width/2+10) + 'px, 0, 0)',
   'translate3d(0, -' + (win.height/2+10) + 'px, 0)', 
];

BoxesFx.prototype._setTransforms = function() {
    this.transforms = {
        'effect-1' : {
            'next' : translate,
            'prev' : translate
        }}}
.

あなたが同じではありませんが、アレイを2回参照して2つのまったく異なる配列を取得できないので、私は彼らができると仮定していることを想定していますか?

毎回アレイの実際の新しいコピーが必要な場合は、

を実行できます。
'next' : translate.slice(0)
.

代わりに

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top