jCarousel(http://sorgalla.com/projects/jcarousel/)で画像プレビューを作成していますが、1つの問題に直面しています。 jCarousel動的リストをリロード/リフレッシュします。jCarousel毎回初期化/リフレッシュ/リロード画像をクリック
私はイメージのカテゴリがほとんどありません。そのうちの1つで画像をクリックすると、リストが作成され、その要素でプレビューが開始される必要があります。私はいくつかのコードを持っていますが、プレビューが他の画像で始まる他の画像をクリックした後、すべてのリストを再作成させる方法を知らないのです。ここ は私のコードです:
$(document).ready(function(){
$("ul#stage li").live('click', function() {
var ul = $(this).parent();
var index = +(ul.children().index(this))+1;
var mycarousel_itemList = [ ];
$('li[data-id]').each(function() {
var $this = $(this);
mycarousel_itemList.push({
url : $this.attr("data-img"),
title : $this.attr("data-title")
});
});
function mycarousel_itemLoadCallback(carousel, state) {
for (var i = carousel.first; i <= carousel.last; i++) {
if (carousel.has(i)) {
continue;
}
if (i > mycarousel_itemList.length) {
break;
}
carousel.add(i, mycarousel_getItemHTML(mycarousel_itemList[i-1]));
}
};
function mycarousel_getItemHTML(item) {
return '<img src="' + item.url + '" width="800" height="600" alt="' + item.url + '" />';
};
alert(index);
jQuery('#mycarousel').jcarousel({
itemLoadCallback: {onBeforeAnimation: mycarousel_itemLoadCallback},
size: mycarousel_itemList.length,
scroll: 1,
start: index,
wrap: 'last',
animation: 'fast',
visible: 1
});
document.getElementById('popup-content').style.background='url('+$(this).attr("data-img")+') no-repeat center';
document.getElementById('fades').style.display='block';
document.getElementById("light").style.display = "block";
$("#light").fadeTo("slow", 1);
});
});
すべてはそのようなものです:画像がある>私はそれらの>ポップアップjCarouselとショーと1枚の可視画像のいずれかをクリックしてから、私は他のすべての画像をスクロールすることができます。
これはうまく機能していますが、初めてのことです。他の画像(ポップアップを閉じた後)をクリックすると、最後に開いた画像からビューが始まります。
何かが明確でない場合は、お尋ねください。私はそれをより正確にしようとします。 ご協力いただきありがとうございます!
私はこの日のこれらの種類のものでかなり新しいです。これが私がこの問題に対処できず、場合によってはjQueryセレクタの代わりにJavaScriptを使用した理由です。 – Gereby
かなり面白い、あなたは私の答えを受け入れ、2年以上経って自分自身を説明しました:) –
私は答えが早くなかったので、私はそれを忘れて昨日見つけました。 :) – Gereby