私はjQueryを使用して、XMLファイルから結果を取得し、各エントリをdivに表示しています。これは機能していますが、divをクリックすると、ライトボックスにxmlからのより多くのデータが表示されるようにしたいと思います。
ここでjsfiddleを作成しましたが、機能していません。
これは私のhtmlです:
<section id="page3">
<section class="portfolio row">
<! Hier komen cases uit xml !>
<div id="clearfix"></div>
</section>
<section class="portfolio_detail">
<span class="prev"><</span>
<section class="ajax_image"></section>
<span class="next">></span>
<span class="close">X</span>
<section class="watermark">
<p>Thomas More © Insilencio<br>
Corporate identity maximum two lines</p>
</section>
</section>
</section>
これが私のjQueryです。
$.ajax({
type: 'GET',
url: "hellojames.commefort.com/onepager/data.xml",
dataType: "xml",
success: function (data) {
//console.log(data);
$(data).find("case").each(function () {
var dezeCase = $(this);
var id = dezeCase.find("id").text();
var titel = dezeCase.find("titel").text();
var thumb = dezeCase.find("thumb").text();
var full = dezeCase.find("full");
var images = full.find('img');
var imagesArray = images;
var html = '<div class="portfolio_item col" id="' + titel + '"><img src="' + thumb + '" alt="' + titel + '"><p class="caption">' + titel + '</p></div>';
$('.portfolio').prepend(html);
mouseHover();
caseClick(imagesArray);
});
}
});
function mouseHover() {
$('.portfolio_item').mouseover(function () {
$(this).children('img').addClass("hover");
$(this).children('.caption').show();
//console.log('hover');
}).mouseout(function () {
$(this).children('img').removeClass("hover");
//console.log('stophover');
$('.caption').hide();
});
};
function caseClick(afbeeldingen) {
/* Detailpagina */
$('.portfolio_item').on('click', function () {
var lightbox = $('.portfolio_detail');
$(".ajax_image").empty();
lightbox.show().children().hide();
lightbox.animate({
width: '100%',
height: "100%"
}, 'fast');
lightbox.children().fadeIn('slow');
var inhoud = "<img src='" + afbeeldingen + "'>";
$(".ajax_image").append(inhoud);
});
};