Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Fresco -Responsive Lightbox — инициализация из массивов (https://javascript.ru/forum/jquery/82843-fresco-responsive-lightbox-%E2%80%94-inicializaciya-iz-massivov.html)

newdenchik 15.07.2021 20:58

Fresco -Responsive Lightbox — инициализация из массивов
 
Доброго времени суток.
есть блок див. в нем ещё 2 блока: один для инициализации по клику, другой с данными (пока это просто имажисы).
по клику на блок для инициализации собираю данные по массивам
$(document).on('click','.gallery_Block',function(){	
  var imgSMsrc=[],imgSMalt=[],imgAll=$(this).closest('div.gallery').find('.fresco img'),imgAllL=$(imgAll).length;
  imgAll.each(function(){imgSMsrc.push($(this).attr('src'));imgSMalt.push($(this).attr('alt'));});
  // console.log(imgAllL);
  // console.log(imgSMsrc);
  // console.log(imgSMalt);
  // $.each(imgAll,function(index){
    // console.log('{url: \''+imgSMsrc[index]+'\', caption: \''+imgSMalt[index]+'\'},');
  // });


осталось проинициализировать Fresco по типу
Fresco.show([
	/******* но как подставить сюда данные из массивов не могу догнать. */
	/******* что-то типо этого: */
		{url: ''+imgSMsrc[0]+'', caption: ''+imgSMalt[0]+''},
		{url: ''+imgSMsrc[1]+'', caption: ''+imgSMalt[1]+''},
		{url: ''+imgSMsrc[2]+'', caption: ''+imgSMalt[2]+''},
		{url: ''+imgSMsrc[3]+'', caption: ''+imgSMalt[4]+''},
	/******* только не известно сколько их там */

	],);


Как правильно это реализовать? Спасибо...

voraa 15.07.2021 21:43

Fresco.show( 
   imgSMsrc.map ((s, i) => {return {url: ''+s, caption: ''+imgSMalt[i]}; } ) 
)

newdenchik 15.07.2021 22:27

то, что нужно :thanks:


Часовой пояс GMT +3, время: 02:08.