문제

아래에서 변형 패턴을 어떻게 반복합니까?

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
        }}}
.

사용자가 가진 두 배열은 동일하지는 않지만 배열을 두 번 참조 할 수 없으며 완전히 다른 두 개의 배열을 얻을 수 없으므로 가정합니다.

매번 배열의 실제 새 사본이 필요하면

를 수행 할 수 있습니다.
'next' : translate.slice(0)
.

대신

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top