2013-04-15 29 views
1

如果在這裏還有另一個SO問題,Google或我都無法找到它。首先,謝謝你的回覆。jQuery Cycle Page Count Change「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

我覺得你可以考慮用等於或大於外匯持續時間略少超時做對之前的事件。 – 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); 
    } 
}