静的コンテンツでflexslider div-Elementが正しく動作しています。 しかし、jqueryを使って画像を動的に追加しようとすると、私は非常に奇妙で変化する結果を得ます。FlexSliderが動的に画像をロードしたり削除したりしています
私は、サイドバーが完全に展開された後で(サイドバーを使用して、 '表示'、機能...)、リーフレットのサイドバー内で使用します)。
ロード機能は、この1のようになります。
this.loadImages = function(osm_id) {
var nextImage = true;
var counter = 1;
while (nextImage) {
var li = null;
$.ajax({
async : false,
url : '/img/locations/'+osm_id+'/'+counter+'.jpg',
type : 'HEAD',
error : function() {
nextImage = false;
},
success : function() {
var path = '/img/locations/'+osm_id+'/'+counter+'.jpg';
$('<img src="'+path+'">').load(function() {
var li = $("<li></li>");
$(this).appendTo(li);
li.appendTo($("#locationSlides"));
}).ready(function() {
$("#flexslider").data("flexslider").addSlide(li);
});
counter++;
}
});
}
}
jQueryの画像をロードし、flexsliderクラス(DOM)、しかし、彼らはブラウザに表示されるare'tに追加します。
$("#flexslider").flexslider();
を呼び出す は現在、Firefoxで読み込んだ画像を示しているが、彼らは両方のブラウザでDOMに追加されていても、いずれかのChromeでそれらを表示しません。 しかし、もっと多くの写真を読み込んでもう一度メソッドを呼び出すと、Firefoxではもう何も効果がありません。
私は絶対にこの動作を説明することはできません。
二重像の読み込みを投げましたか? –
画像が存在するかどうかを確認するためのajax呼び出し、および実際に画像を取得するための負荷。確かに実行可能なアプローチはありますが、ローディング自体はこれまでのところ動作します。 – ltsstar
この行を入れてみてください: '$("#flexslider ")。flexslider();'内部 'error:function()' –