2016-10-27 5 views
0

나는 여러 개의 슬라이더 인스턴스를 가지고 있으며 모든 매개 변수에 동일한 매개 변수를 전달해야합니다.자바 스크립트에서 배열로 매개 변수 전달

내가 배열이 필요하다고 가정하지만, JS에서 초보자이기 때문에 제대로 수행하는 방법을 잘 모르겠습니다.

spaceBetween: 20, 
slidesPerView: 5, 
breakpoints: { 
    600: { 
    slidesPerView: 2 
    }, 
    991: { 
    slidesPerView: 3 
    }, 
    1200: { 
    slidesPerView: 4 
    } 
} 

와 슬라이더 예 :

var swiper1 = new Swiper('.swiper1', { 
    prevButton: '.b-prev-1', 
    nextButton: '.b-next-1', 

    //here I need to get the rest of the parameters 

}); 

당신 :

+0

보기 .extend' $'에서 - 당신이'가질 수 있도록 함께 객체를 병합 할 수 있습니다 var에 commonOpts = {spaceBetween : 20 ...} 다음'과'$ .extend ({ }, commonOpts, swiper1Opts)' – vlaz

답변

0

안녕 당신이 쓸 수와 같은

var swiper1 = new Swiper('.swiper1', [ 
 
    prevButton: '.b-prev-1', 
 
    nextButton: '.b-next-1', 
 
    //here I need to get the rest of the parameters 
 
]);

아래에 감사

매개 변수는 다음과 같이 예를 들어 본다

+0

작동하는 코드 스 니펫을 사용하는 것이 좋지만 어쩌면 여러분의 답은 코드 형식을 사용하기에 적합 할 수도 있습니다. –

+0

나는 문제에 직면했기 때문에 그것을 사용했다. 문제는 내가 그것을 직면했기 때문에 '['그것의 포맷을 제대로하지 내가 코드 스 니펫에 추가했습니다 –

+0

문제의 독립, 작동하지 않는다면 그것을 사용하는 의미가 있습니다. –

0

당신이 사용할 수있는 jQuery의 $.extend() :

var extraDetails = { 
    spaceBetween: 20, 
    slidesPerView: 5, 
    breakpoints: { 
     600: { 
     slidesPerView: 2 
     }, 
     991: { 
     slidesPerView: 3 
     }, 
     1200: { 
     slidesPerView: 4 
     } 
    } 
}; 

var swiper1 = new Swiper('.swiper1', $.extend({ 
     prevButton: '.b-prev-1', 
     nextButton: '.b-next-1' 
    }, 
    extraDetails 
)); 
0

ES5에서이 일을 가장 웅변 방법은 만드는 것입니다 각 슬라이드에 대한 새 구성 객체이지만를 사용하여 공통 객체를 기반으로합니다.. 난 당신의 DOM 요소를 통해 당신은 루프 수 상상하고 각각에 대해이 온 - 더 - 플라이는 config를 만들 - 더 많은 코드를보고 멋있다고

var commonConfig = { spaceBetween: 20, slidesPerView: 5, breakPoints: { ... } }; 

var swiper1 = $.extend(true, {}, commonConfig, { 
    prevButton: '.b-prev-1', 
    nextButton: '.b-next-1' 
}); 

var swiper2 = $.extend(true, {}, commonConfig, { 
    prevButton: '.b-prev-2', 
    nextButton: '.b-next-2' 
}); 

(Object.assign()는 VanillaJS에서 유사하다). 뭔가 같은 :

$('.swiper').each(function(idx, el){ 
    $(this).swiper({ 
     spaceBetween: 20, 
     slidesPerView: 5, 
     breakPoints: { ... }, 
     prevButton: '.b-prev-'+(idx+1), 
     nextButton: '.b-next-'+(idx+1) 
    }); 
}); 
관련 문제