My problem may sound easy to solve but I'm stucked...
I'm using jQuery
and Magnific
Popup to create a dynamic gallery.
But not all gallery have six picture some may have one ou just four or five.
So here's what I did and for some reasons it just doesn't work... If someone can help me out... I'd be greatfull
var magic1;
var magic2;
var magic3;
var magic4;
var magic5;
var magic6;
if (post.photo1 != "") {
var magic1 = '{ src: "http://linkto/img/'+post.photo1+'}'
} else {
var magic1 = ""
}
if (post.photo2 != "") {
var magic2 = '{ src: "http://linkto/img/'+post.photo2+'}'
} else {
var magic2 = ""
}
if (post.photo3 != "") {
var magic3 = '{ src: "http://linkto/img/'+post.photo3+'}'
} else {
var magic3 = ""
}
if(post.photo4 != ""){
var magic4 ='{ src: "http://linkto/img/'+post.photo4+'}'
} else {
var magic4 = ""
}
if (post.photo5 != "") {
var magic5 = '{ src: "http://linkto/img/'+post.photo5+'}'
} else {
var magic5 = ""
}
if (post.photo6 != "") {
var magic6 = '{ src: "http://linkto/img/'+post.photo6+'}'
} else {
var magic6 = ""
}
$('#fading-slider' + post.ID).magnificPopup({
items: [
magic1 + ',' +
magic2 + ',' +
magic3 + ',' +
magic4 + ',' +
magic5 + ',' +
magic6
],
gallery: {
enabled: true
},
type: 'image' // this is default type
});
First, you declare var twice so, You can try some thing like this:
var imgs = new Array();
if(post.photo1 != "")
imgs.push({'src': 'http://linkto/img/'+post.photo1});
if(post.photo2 != "")
imgs.push({'src': 'http://linkto/img/'+post.photo2});
....
....
$('#fading-slider' + post.ID).magnificPopup({
items: imgs ,
gallery: {
enabled: true
},
type: 'image' // this is default type
});