gpt4 book ai didi

javascript - 无限滚动与照片滑动

转载 作者:行者123 更新时间:2023-12-01 05:30:45 25 4
gpt4 key购买 nike

我使用无限滚动imagesloaded同位素以及照片滑动来创建照片库。当我单击“更多照片”按钮时,它会加载下一张照片。但我不知道如何将这些新照片声明为 Photoswipe,因为我的做法是,当我单击(新照片中的)一张照片时,它会打开另一张照片

我有一个函数来将照片声明为 photoswipe,并且该函数执行两次:第一次在 dom 加载时,第二次在我加载下一张照片时:

// Photoswipe declaration
new_photos_lightbox();
function new_photos_lightbox() {

$('.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($(this));
var options = {
index: $index,
bgOpacity: 0.7,
showHideOpacity: true
}

// Initialisation PhotoSwipe

var lightBox = new PhotoSwipe($pswp, PhotoSwipeUI_Default, items, options);
lightBox.init();

return false;
});
});
}

后来我管理同位素:

/*
* 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: 'loading photos...',
finishedMsg: 'No more 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);
});
new_photos_lightbox();
}
);

// Deactivation infinite scroll the benefit of More button
$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();
});
}

最佳答案

非常简单

 $pic.find('figure').each(function(e,i) {

$(i).on('click', 'a', function (e) {

var $pswp = $('.pswp')[0];

....
});
});

关于javascript - 无限滚动与照片滑动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37500674/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com