jQuery Cycleプラグインを使用して、最初の画像にカーソルを合わせたときに画像のスライドショーを開始しています。これは正常に機能します。その後、ホバーしたときにスライドショーを停止し、手動のスライドショー([次へ] / [前へ]ボタン)を開始する必要があります。これは現在機能していますが、スライドショーは初期化されるたびに最初から開始されます。ロードされている現在の画像から開始したいと思います。
DOMから画像のインデックスを取得して(display:blockを持つ唯一の画像であるため)、オプション「startingSlide」を使用して画像を再開しようとしていましたが、インデックスは-1として返され続けます。
jQuery('#home-menu li').hover(function()
{
setImages(jQuery(this).attr('title'), jQuery(this).find('.subtitle').text());
jQuery('#main .blog #projects .gallery .slideshow').cycle(
{
fx: 'scrollHorz',
easing: 'easeOutBounce',
speed: 2000,
delay: 0
});
}, function()
{
// Before loading the images for the clickable slideshow, find the current image in the DOM array to use as the starting position
slideshowStart = jQuery('.gallery .slideshow img:visible').index(this);
console.log('Index: ' + slideshowStart);
setImages(jQuery(this).attr('title'), jQuery(this).find('.subtitle').text());
jQuery('#main .blog #projects .gallery .slideshow').cycle('stop').cycle(
{
fx: 'scrollHorz',
easing: 'easeOutBounce',
startingSlide: slideshowStart,
speed: 2000,
timeout: 0,
next: "#main .blog #projects .gallery span.span2",
prev: "#main .blog #projects .gallery span.span1"
});
});
setImages()は、liがホバーされている内容に基づいて、画像をDOMにロードするだけです。特別なことは何もありません。
ホバーしたりホバーしたりしたときに画像を再開したい。私はそれを機能させようとしていた間、ホバーするための履歴書の部分を省略しました-あなたが疑問に思っている場合に備えて。