@@ -3553,47 +3553,65 @@ BEM.DOM.decl('b-gallery', {
3553
3553
js : function ( ) {
3554
3554
// инициализация блока, аналог $(document).ready()
3555
3555
3556
- var countPhotos = this . params . size , // сколько фоток загружать, не больше 100
3557
- rss = this . params . rss , // откуда брать поток
3558
- gWidth = this . params . gWidth , // ширина галереи
3559
- gHeight = this . params . gHeight , // высота галереи
3560
- html = '<div class="fotorama b-fotorama">' ;
3556
+ var _this = this ,
3557
+ countPhotos = _this . params . size , // сколько фоток загружать, не больше 100
3558
+ rss = _this . params . rss , // откуда брать поток
3559
+ gWidth = _this . params . gWidth , // ширина галереи
3560
+ gHeight = _this . params . gHeight , // высота галереи
3561
+ photos = [ ] ,
3562
+ links = [ ] ;
3561
3563
3562
- // инициализация media rss
3563
- $ . xmlns [ "media" ] = "http://search.yahoo.com/mrss" ;
3564
3564
3565
3565
// загрука и парсинг данных
3566
3566
$ . get ( rss , function ( data ) {
3567
3567
3568
+ // инициализация media rss
3569
+ $ . xmlns [ "media" ] = "http://search.yahoo.com/mrss" ;
3570
+
3568
3571
$ ( data ) . find ( 'item' ) . each ( function ( index ) {
3569
3572
3570
3573
if ( index < countPhotos ) {
3571
3574
3572
3575
var raw = $ ( this ) . find ( "media|thumbnail" ) . attr ( 'url' ) . substr ( 5 , 999 ) , // обрезаем http:, для того, что бы работало c htpps
3573
3576
link = $ ( this ) . find ( 'link' ) . text ( ) ,
3574
3577
author = $ ( this ) . find ( 'author' ) . text ( ) ,
3575
- alt = "Автор на Яндекс.Фотках: <a href=" + link + " class=b-author target=_blank>" + author + "</a>" ; // формируем ссылку на автора фотки
3578
+ alt = "Автор на Яндекс.Фотках: <a href=" + link + " class=b-author target=_blank>" + author + "</a>" , // формируем ссылку на автора фотки
3579
+ photo = { } ;
3580
+
3581
+ photo . caption = alt ;
3582
+
3576
3583
3577
3584
if ( raw && ( raw . indexOf ( 'null' ) < 0 ) ) {
3578
3585
raw = raw . substr ( 0 , ( raw . length - 1 ) ) ;
3579
- html += '<a href="' + raw + 'XL"><img src="' + raw + 'XS" alt="' + alt + '" /></a>' ;
3586
+ photo . img = raw + 'XL' ;
3587
+ photo . full = raw + 'XXL' ;
3588
+ photo . thumb = raw + 'XS' ;
3589
+
3590
+ photos . push ( photo ) ;
3591
+ links . push ( link ) ;
3580
3592
}
3581
3593
3582
3594
}
3583
3595
3584
3596
} ) ;
3585
3597
3586
- html += '</div>' ;
3598
+ _this . params . photos = photos ;
3599
+ _this . params . links = links ;
3587
3600
3588
- $ ( '.b-gallery' ) . html ( html ) ;
3601
+ $ ( '.b-gallery' ) . html ( '<div class="fotorama b-fotorama"></div>' ) ;
3589
3602
3590
3603
$ ( '.b-fotorama' ) . fotorama ( {
3591
3604
width : gWidth ,
3592
3605
height : gHeight ,
3593
3606
caption : 'simple' ,
3594
- loop : true
3607
+ loop : true ,
3608
+ data : _this . params . photos ,
3609
+ onShowImg : function ( data , auto ) {
3610
+ _this . setMod ( 'image' , data . index ) ; // устанавливаем модификатор при смене картинки
3611
+ }
3595
3612
} ) ;
3596
3613
3614
+
3597
3615
} , "xml" ) ;
3598
3616
3599
3617
}
@@ -3603,7 +3621,7 @@ BEM.DOM.decl('b-gallery', {
3603
3621
getDefaultParams : function ( ) {
3604
3622
3605
3623
return {
3606
- size : '30' , // сколько фотографий показыать
3624
+ size : '30' , // сколько фотографий показывать
3607
3625
rss : '/rss/rss.xml' , // путь к RSS потоку
3608
3626
gWidth : '800' , // ширина слайдера
3609
3627
gHeight : '520' // высота слайдера
0 commit comments