ボタンをクリックすると、AJAX 呼び出しを介して画像データを取得する関数が起動します。
$("#toggle_album").click(function () {
album_id = $("#album_id").val();
$.post('backend/load_album_thumbnails.php', {
id: album_id
}, function(xml) {
var status = $(xml).find("status").text();
var timestamp = $(xml).find("time").text();
$("#album_thumbs_data_"+album_id+"").empty();
if (status == 1) {
var temp = '';
var output = '';
$(xml).find("image").each(function(){
var url = $(this).find("url").text();
temp = "<DIV ID=\"thumbnail_image\"><A HREF=\"javascript:void(null);\" CLASS=\"overlay\">[img-tag with class="faded" goes here]</A></DIV>";
output += temp;
});
$("#album_thumbs_data_"+album_id+"").append(output);
} else {
var reason = $(xml).find("reason").text();
var output = "<DIV CLASS=\"bread\">"+reason+"</DIV>";
$("#album_thumbs_data_"+album_id+"").append(output);
}
$("#album_thumbs_"+album_id+"").toggle();
});
});
データは XML 形式で返され、適切に解析され、データが空のコンテナーに追加されて表示されます。
私の問題は、私の画像オーバーレイスクリプトです:
$("img.faded").hover(
function() {
$(this).animate({"opacity": "1"}, "fast");
},
function() {
$(this).animate({"opacity": ".5"}, "fast");
});
... AJAX 呼び出しで取得した画像データの処理を停止します。「通常の」方法ですでにロードされている他のすべての画像でうまく機能します。後で追加されたデータで機能するように、スクリプトを何らかの方法で調整する必要がありますか?
私の質問が十分に明確であることを願っています。