2013-02-13 3 views
2

나는 사용자 정의 게시 유형을 페이지의 슬라이더로 바꾸는 WordPress 사이트에서 일하고 있습니다. 내 슬라이더 Sequence.js를 사용하고 난 수동으로 여러 슬라이더를 다음에 문제를 만들 수 없습니다 :여러 jQuery 슬라이더를 동적으로 만드는 방법은 무엇입니까?

//sequence slider options to be used by slider1 
var options0 = { 
    sartingFrameID: 1, 
    cycle: true, 
    autoPlay: false, 
    nextButton: '.next0', 
    prevButton: '.prev0', 
    fallback: { 
     theme: "fade", 
     speed: 100 
    } 
} 

//slider1 
var sequence0 = $(".slideContainer0").sequence(options0).data("sequence"); 

//sequence slider options to be used by slider2 
var options1 = { 
    sartingFrameID: 1, 
    cycle: true, 
    autoPlay: false, 
    nextButton: '.next1', 
    prevButton: '.prev1', 
    fallback: { 
     theme: "fade", 
     speed: 100 
    } 
} 

//slider2 
var sequence1 = $(".slideContainer1").sequence(options1).data("sequence"); 

나는이 어떻게 간소화 할 수 있습니까? 또한 동적으로 만들어 슬라이더가 만들어지는 각 게시물마다 만들어집니다. 어떤 도움이라도 대단히 감사하겠습니다.

편집 - I 함수로 선택 출력 회전 단순히 각 시퀀스의 인스턴스를위한 카운터 기능을 호출하여 제 부분 아래 Cymen로부터 응답을 사용

원치 작동했다. 그리고 나서 각 시퀀스 슬라이더를 초기화하기 위해 그의 대답의 두 번째 부분을 사용했고 그것은 치료법을 사용합니다.

function options(number) { 
    return { 
     startingFrameID: 1, 
     cycle: true, 
     autoPlay: false, 
     nextButton: '.next' + number, 
     prevButton: '.prev' + number, 
     fallback: { 
      theme: "fade", 
      speed: 100 
     } 
    }; 
} 

var count = 0; 
$('.slideContainer').each(function() { 
    var sequence = $(this); 
    sequence.sequence(options(count)).data('sequence'); 
    count++; 
}); 

답변

1

내가 순서를 사용하지 않은하지만 귀하의 게시물에서 난 당신이 옵션은 수의 증가 오브젝트를 재현 할 수 있도록하려는 추측 오전 :

이것은 내가 지금 일하고있는 것입니다. 그래서 당신은 이런 식으로 뭔가를 할 수 :

function options(number) { 
    return { 
    startingFrameID: 1, 
    cycle: true, 
    autoPlay: false, 
    nextButton: '.next' + number, 
    prevButton: '.prev' + number, 
    fallback: { 
     theme: "fade", 
     speed: 100 
    } 
    }; 
} 

을 다음과 같이 사용 :

$(target).sequence(options(0)).data("sequence"); 

또는 특정 예제 :

//slider1 
var sequence0 = $(".slideContainer0").sequence(options(0)).data("sequence"); 

//slider2 
var sequence1 = $(".slideContainer1").sequence(options(1)).data("sequence") 

그리고 당신은 방법에 대해 무슨 말을 할를 모든 시퀀스에 custom-sequence과 같은 클래스를 지정하고 다음과 같이하십시오.

var count = 0; 
$('.custom-sequence').each(function() { 
    var sequence = $(this); 
    sequence.sequence(options(count)).data('sequence'); 
    count++; 
}); 

그럴 수도 있고 안될 수도 있습니다. .data('sequence')의 역할은 분명하지 않습니다.

+0

답변의 첫 번째 부분이 작동하지 않습니다. 여러 슬라이더가 설정되지만 옵션은 분리되지 않습니다. 이전 및 다음 버튼은 두 슬라이더 중 하나에서 다음을 누르면 슬라이더가 앞으로 나오기 때문에 제대로 작동하지 않습니다. 또한 슬라이더는 동일한 옵션으로 만들어진 것처럼 동일한 동작을 나타냅니다. – 3oh6

+0

''.next '+ number'와 일치하는 정확한 숫자를 전달하고 있습니까? 나는 다음과 함께 HTML을 가정하고있다. 그리고 이전의 클래스는 다른 곳에 만들어진다. jsbin.com (또는 비슷한 사이트)에서 작업하는 예제는 훨씬 빨리 이해할 수 있도록 도와줍니다. – Cymen

+0

예. 일치하는 반복 번호로 .next/.prev가 만들어집니다. 나는 또 다른 슬라이더 플러그인을 시도해보고 이것이 더 많이 보일수록 Sequence JS가 범인이되는 것처럼 보인다. – 3oh6

관련 문제