Soit :
Une galerie photo avec lightbox qui s'affiche en infinite scroll avec isotope et qui fonctionne :
isotope.pkgd.js
+ infinitescroll.js
+ photoswipe.js
Et moi avec mon air c... et ma vue pas basse qui ne sait pas comment ajouter les éléments à ma lightbox lorsque je charge plusss de photos :
Gestion de la lightbox :
Gestion de la galerie :
Je sais, pourquoi jme lance dans des trucs que jsais pas faire... ben pour arriver à les faire ensuite ^^
Une galerie photo avec lightbox qui s'affiche en infinite scroll avec isotope et qui fonctionne :
isotope.pkgd.js
+ infinitescroll.js
+ photoswipe.js
Et moi avec mon air c... et ma vue pas basse qui ne sait pas comment ajouter les éléments à ma lightbox lorsque je charge plusss de photos :
Gestion de la lightbox :
/*
* Déclaration lightbox sur galeries photos page Photos
*/
$('.gal-photos>ul').each( function() {
var $pic = $(this),
getItems = function() {
var items = [];
$pic.find('a').each(function() {
var $href = $(this).attr('href'),
$size = $(this).data('size').split('x'),
$width = $size[0],
$height = $size[1];
var item = {
src : $href,
w : $width,
h : $height
}
items.push(item);
});
return items;
}
var items = getItems();
var $pswp = $('.pswp')[0];
$pic.on('click','li',function(event){
event.preventDefault();
var $index = $(this).index();
console.log($index);
var options = {
index: $index,
bgOpacity: 0.7,
showHideOpacity: true
}
// Initialisation PhotoSwipe
var lightBox = new PhotoSwipe($pswp, PhotoSwipeUI_Default, items, options);
lightBox.init();
return false;
});
});
Gestion de la galerie :
/*
* Gestion de la galerie photo avec Isotope
*/
var len = $('script[src*="js/isotope.pkgd.min.js"]').length;
if (len != 0) {
var $loaderAjax = $('.loader-ajax');
var $container = $('.grid');
$loaderAjax.show();
$container.imagesLoaded( function(){
$container.isotope({
itemSelector : '.grid-item',
masonry: {
columnWidth: 200,
isAnimated: true,
isFitWidth: true,
gutter: 20
}
});
$container.infinitescroll({
navSelector : '#ms-gallery-nav',
nextSelector : '#ms-gallery-nav a',
itemSelector : '.grid-item',
loading: {
msgText: 'Chargement des contenus...',
finishedMsg: 'Plus de photos',
img: '../img/aj-loader.gif'
}
},
function( newElements ) {
var $newElems = $(newElements).css({
opacity: 0
});
$newElems.imagesLoaded(function () {
$newElems.animate({
opacity: 1
});
$container.isotope('appended', $newElems, true);
});
}
);
// Désactivation du scroll infini au profit d'un bouton Charger plus
$container.infinitescroll('unbind');
$('#next-page-button').on('click', function(e) {
e.preventDefault();
$container.infinitescroll('retrieve');
$(this).blur();
});
$("ul.grid li").css({'display': 'list-item'});
$("div.filter-button-group").animate({'opacity':'1'},500);
$loaderAjax.hide();
});
}
Je sais, pourquoi jme lance dans des trucs que jsais pas faire... ben pour arriver à les faire ensuite ^^