2012-02-12 4 views
1

jQuery Cycle 플러그인을 사용하고 있습니다.jQuery Cycle Plugin "before"이벤트가 작동하지 않습니까?

슬라이드 쇼 아래에 "현재 #/전체 #"카운터 유형이 있습니다. 각 전환 후에 "현재 #"을 업데이트합니다. "after"콜백 이벤트를 성공적으로 사용하고 있지만 "before"이벤트가 첫 번째 전환에 작동하지 않는 것 같습니다. 현재 #을 으로 변경하기 전에 전환 후 슬라이드 쇼 이미지가 이 아닌 다음 슬라이드로 전환되기를 바랍니다. 이전에이 문제가 발생한 사람이 있습니까?

나는 다음과 같은 코드가 있습니다 :

slideshow.cycle({ 
    timeout: 6000, 
    next: '#nextImage', 
    prev: '#prevImage', 
    after: setCurrent 
}); 

function setCurrent(curr,next,opts) { 
    $('#imageNumber').html(opts.currSlide + 1); 
} 

[편집] 나는 다음과 같은 코드를 사용하여이 문제를 해결할 수 있었다

:

slideshow.cycle({ 
    timeout: 6000, 
    next: '#nextImage', 
    prev: '#prevImage', 
    before: setCurrent 
}); 

function setCurrent() { 
    var image = $(this); 
    $('#imageNumber').html(image.index() + 1); 
} 

답변

1

'앞에'/ '이후를 '콜백 메소드는 인수를 취하지 않습니다. 메소드 (즉, setCurrent)의 컨텍스트에서 'this'를 렌더링 할 항목으로 사용할 수 있습니다.

심판 :

http://jquery.malsup.com/cycle/int2.html 그래서 당신은 등 어떤 종류의 작업을 수행해야합니다

function setCurrent() { 
    $('#imageNumber').html(this.id + 1); 
} 

참고 : 당신이 적응해야 할 수도 있습니다, 그래서 나는 코드의 나머지 부분을 모르는 ...

+0

답변을 통해 문제 해결 방법을 찾을 수있었습니다. 아래에 내 대답을 게시 할 것입니다. – Justin

+0

업데이트 된 게시물 주셔서 감사합니다. – JScoobyCed