1

ここに別のSOの質問がある場合、Googleも私もそれを見つけることができませんでした. まず、返信ありがとうございます。

これが私のセットアップです。通常の ("#item").cycle(); とは少し異なります。のようなものですが、これにはいくつかの複雑な設定があります。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)
    }
}

「Slide x of x」をON SLIDEで変更する方法が必要です。現在、ローテーションが遷移し、その後数字が変化します。それがサイクルで設定されたデフォルトのようなものであることは知っていますが、スライド中またはスライド中にスライドカウントを変更するためにできることはあるのかと思っていました. それは気難しいクライアントの要求であり、それができなくても害はないと言われています. これはほとんど単なる好奇心です。

さらにコードが必要な場合は、追加できますが、問題のスライダーの基本的な構成変数だけで十分だと思います。これはバグ/エラーではなく、アイデアの要求ではないため、うまくいくはずです. また、セットアップのフィドルも提供しますが、現在はしばらく制限があり、回答を待っている間に他の変更を行う予定です. また、アクセスを許可しますが、全体が完全なイントラネットのロックダウン下にあり、他の人がアクセスする場所はありません.

4

1 に答える 1

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);
    }
}
于 2013-04-22T21:01:26.897 に答える