ページに複数のコンテンツ ティーザーがあり、各ティーザーには循環できる複数の画像があります。ランダムなティーザーを選択して次の画像に循環し、別のランダムなティーザーを選択して同じことを繰り返すような jquery サイクルを使用できるようにしたいと考えています。結果は、一度に 1 つの画像がページのどこかに移動する画像のページになります。
HTML -
<div class="video-slidehow">
<span class="video-thumb slideshow"><img src=""></span>
<span class="video-thumb slideshow"><img src=""></span>
<span class="video-thumb slideshow"><img src=""></span>
</div>
<div class="video-slidehow">
<span class="video-thumb slideshow"><img src=""></span>
<span class="video-thumb slideshow"><img src=""></span>
<span class="video-thumb slideshow"><img src=""></span>
<span class="video-thumb slideshow"><img src=""></span>
</div>
<div class="video-slidehow">
<span class="video-thumb slideshow"><img src=""></span>
<span class="video-thumb slideshow"><img src=""></span>
</div>
したがって、ランダムな「video-slideshow」ラッパーを選択し、そのラッパーの「video-thumb」子を次のラッパーに循環させます。次に、別の「video-slideshow」ラッパーを選択し、その「video-thumb」子を次のラッパーに循環させます。
簡単にするためにこの html をクリーンアップしたことに注意してください。各ビデオ スライドショー div には追加の親 div などがあります。
クラスを別のdivに移動し、それをjquery要素として使用することでこれを実行しようとしましたが、それは明らかに解決策ではないようです!
Jクエリ -
var elements = $('.video-slidehow');
$(elements[Math.floor(Math.random()*elements.length)]).addClass('someClass');
$('.someClass').cycle({
fx: 'scrollRight',
easing: 'easeInOutBack',
speed: 700,
timeout: 7000,
after: doAfter
});
function doAfter() {
$('.someClass').removeClass('someClass');
var elements = $('.video-slidehow');
$(elements[Math.floor(Math.random()*elements.length)]).addClass('someClass');
}
「ランダム」要件に関して。理想的には、同じラッパー div を 2 回続けて実行できないことです。
子犬ひげの答えの後、私は次のことを試みましたが無駄になりましたが、これは正しい方向に進み始めているように感じます! -
var elements = $('.video-slidehow');
$('.video-slidehow').cycle({
fx: 'scrollRight',
easing: 'easeInOutBack',
speed: 700,
timeout: 7000,
after: doAfter
});
function doAfter() {
$('.video-slidehow').cycle('pause');
$(elements[Math.floor(Math.random()*elements.length)]).cycle('resume');
}