2013-04-15 1 views
1

여기에 또 다른 의문의 여지가 있으면 Google이나 내가 찾을 수 없습니다. 첫째, 모든 답장을 보내 주셔서 감사합니다.jQuery 사이클 페이지 수 변경 "onSlide"

내 설정은 다음과 같습니다. 보통 ("#item")과 약간 다릅니다. 일종의, 그러나 이것과 함께 몇 가지 복잡한 설정이 있습니다. 필자는 matchMedia 결과를 기반으로 전달되는 모든 것을 포함하는 데스크톱 변수를 포함하고 있습니다.

var desktop = { 
    next: "#next_slide", 
    prev: "#prev_slide", 
    speed: 2000, 
    pager: "#pag", 
    easeIn: 'easeOutQuad', 
    easeOut: 'easeInQuad', 
    fx: 'custom', 
    height: '314px', 
    cssBefore:{ 
     left: '-20%', 
     opacity: 0, 
     display: 'block' 
    }, 
    cssAfter:{ 
     display: 'none', 
     opacity: 0 
    }, 
    animIn: { 
     left: '0%', 
     opacity: 1 
    }, 
    animOut: { 
     left: '20%', 
     opacity: 0 
    }, 
    sync: false, 
    'timeout': 7000, 
    after: function(currSlideElement, nextSlideElement, options, forwardFlag){ 
     $('#controls p').html((options.currSlide + 1) + ' <em>of</em> ' + options.slideCount) 
    } 
} 

슬라이드를 변경하려면 "x 슬라이드 x"를 얻는 방법이 필요합니다. 현재 회전이 전환되고 숫자가 변경됩니다. 나는 주기적으로 기본 설정을하는 것을 알고 있지만, 슬라이드 중 또는 슬라이드에서 슬라이드 개수를 변경하기 위해 할 수있는 일이 있는지 궁금합니다. 그것은 까다로운 고객 요청이고 내가 할 수 없다면 아무런 해가 없다고 들었습니다. 이것은 대부분 호기심입니다.

코드가 더 필요하면 추가 할 수 있지만 실제로 슬라이더의 기본 구성 변수가 충분하다고 생각하고 버그/오류가 아니며 아이디어가 더 필요하기 때문에 잘해야합니다. 나는 또한 당신에게 설정의 바이올린을 얻을 것이지만, 현재는 시간 제한하에 있고 대답을 기다리는 동안 다른 변화를 할 것입니다. 또한 액세스 권한을 부여 하겠지만 전체 내용은 완전한 인트라넷 잠금을 받고 있으며 다른 사람이 액세스 할 수있는 곳이 없습니다.

+1

난 당신이 같거나 FX 기간보다 약간 적은 시간 초과로 전 이벤트에 그 일을 고려할 수있다 생각합니다. – lucuma

+0

@lucuma 나는 다른 플러그인을 사용하는 것을 끝내지 만, 나는 그것에 대해 투표 할 것입니다. 나는 바쁘지 않을 때 다시 한번 그것에 대해 조사하고 시간을 보냅니다. 괜찮으 시다면, 그 대답을 할 수 있고 올바르게 작동하면 받아 들일 것입니다. – lxndr

+0

나는 바이올린뿐만 아니라 데모를 추가했다. – lucuma

답변

2

전 이벤트에서 fx 기간과 같거나 약간 작은 시간 초과로이를 수행하는 것이 좋습니다. 이 라인을 따라 뭔가 :

데모 : http://jsfiddle.net/lucuma/ny2Tj/5/

var desktop = { 
    next: "#next_slide", 
    prev: "#prev_slide", 
    speed: 2000, 
    pager: "#pag", 
    easeIn: 'easeOutQuad', 
    easeOut: 'easeInQuad', 
    fx: 'custom', 
    height: '314px', 
    cssBefore:{ 
     left: '-20%', 
     opacity: 0, 
     display: 'block' 
    }, 
    cssAfter:{ 
     display: 'none', 
     opacity: 0 
    }, 
    animIn: { 
     left: '0%', 
     opacity: 1 
    }, 
    animOut: { 
     left: '20%', 
     opacity: 0 
    }, 
    sync: false, 
    'timeout': 7000, 
    before: function(currSlideElement, nextSlideElement, options, forwardFlag){ 
     var $opts= options; 
     setTimeout(function() { 
      $('#controls p').html(($opts.currSlide + 1) + ' <em>of</em> ' + $opts.slideCount) 
     }, 7000); 
    } 
}