Skip to content

Commit c4fb8c5

Browse files
committed
немного причесал js
1 parent 1808e24 commit c4fb8c5

File tree

15 files changed

+160
-74
lines changed

15 files changed

+160
-74
lines changed

blocks/b-gallery/b-gallery.js

+29-12
Original file line numberDiff line numberDiff line change
@@ -5,45 +5,62 @@ BEM.DOM.decl('b-gallery', {
55
js : function() {
66
// инициализация блока, аналог $(document).ready()
77

8-
var countPhotos = this.params.size, // сколько фоток загружать, не больше 100
9-
rss = this.params.rss, // откуда брать поток
10-
gWidth = this.params.gWidth, // ширина галереи
11-
gHeight = this.params.gHeight, // высота галереи
12-
html = '<div class="fotorama b-fotorama">';
8+
var _this = this,
9+
countPhotos = _this.params.size, // сколько фоток загружать, не больше 100
10+
rss = _this.params.rss, // откуда брать поток
11+
gWidth = _this.params.gWidth, // ширина галереи
12+
gHeight = _this.params.gHeight, // высота галереи
13+
photos = [],
14+
links = [];
1315

14-
// инициализация media rss
15-
$.xmlns["media"] = "http://search.yahoo.com/mrss";
1616

1717
// загрука и парсинг данных
1818
$.get(rss, function(data) {
1919

20+
// инициализация media rss
21+
$.xmlns["media"] = "http://search.yahoo.com/mrss";
22+
2023
$(data).find('item').each(function(index){
2124

2225
if (index < countPhotos) {
2326

2427
var raw = $(this).find("media|thumbnail").attr('url').substr(5,999), // обрезаем http:, для того, что бы работало c htpps
2528
link = $(this).find('link').text(),
2629
author = $(this).find('author').text(),
27-
alt = "Автор на Яндекс.Фотках: <a href="+link+" class=b-author target=_blank>"+author+"</a>"; // формируем ссылку на автора фотки
30+
alt = "Автор на Яндекс.Фотках: <a href="+link+" class=b-author target=_blank>"+author+"</a>",// формируем ссылку на автора фотки
31+
photo= {};
32+
33+
photo.caption = alt;
34+
2835

2936
if ( raw && ( raw.indexOf('null') < 0 ) ) {
3037
raw = raw.substr(0,(raw.length-1));
31-
html += '<a href="'+raw+'XL"><img src="'+raw+'XS" alt="'+alt+'" /></a>';
38+
photo.img = raw+'XL';
39+
photo.full = raw+'XXL';
40+
photo.thumb = raw+'XS';
41+
42+
photos.push(photo);
43+
links.push(link);
3244
}
3345

3446
}
3547

3648
});
3749

38-
html += '</div>';
50+
_this.params.photos = photos;
51+
_this.params.links = links;
3952

40-
$('.b-gallery').html(html);
53+
$('.b-gallery').html('<div class="fotorama b-fotorama"></div>');
4154

4255
$('.b-fotorama').fotorama({
4356
width: gWidth,
4457
height: gHeight,
4558
caption: 'simple',
46-
loop: true
59+
loop: true,
60+
data: _this.params.photos,
61+
onShowImg: function(data, auto) {
62+
_this.setMod('image',data.index); // устанавливаем модификатор при смене картинки
63+
}
4764
});
4865

4966
}, "xml");

pages-fb/index/index.css

-1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,3 @@
22
@import url(../../blocks/b-page/__body/b-page__body.css);
33
@import url(../../blocks/b-gallery/b-gallery.css);
44
@import url(../../blocks/b-author/b-author.css);
5-
@import url(../../blocks/b-gallery/__preloader/b-gallery__preloader.css);

pages-fb/index/index.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
<!DOCTYPE html><html class="i-ua_js_no i-ua_css_standard"><head><meta charset="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7, IE=edge"/><title>Фото дня на Яндекс.Фотках</title><script>;(function(d,e,c,r){e=d.documentElement;c="className";r="replace";e[c]=e[c][r]("i-ua_js_no","i-ua_js_yes");if(d.compatMode!="CSS1Compat")e[c]=e[c][r]("i-ua_css_standart","i-ua_css_quirks")})(document);</script><link rel="stylesheet" href="index.css"/><!--[if lt IE 8]><link rel="stylesheet" href="index.ie.css"/><![endif]--><script src="//yandex.st/jquery/1.7.2/jquery.min.js"></script><script src="index.js"></script></head><body class="b-page__body b-page"><div class="b-gallery i-bem" onclick="return {&quot;b-gallery&quot;:{}}"><div class="b-gallery__preloader">Подожидте. Идет загрузка данных...</div></div></body></html>
1+
<!DOCTYPE html><html class="i-ua_js_no i-ua_css_standard"><head><meta charset="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7, IE=edge"/><title>Фото дня на Яндекс.Фотках</title><script>;(function(d,e,c,r){e=d.documentElement;c="className";r="replace";e[c]=e[c][r]("i-ua_js_no","i-ua_js_yes");if(d.compatMode!="CSS1Compat")e[c]=e[c][r]("i-ua_css_standart","i-ua_css_quirks")})(document);</script><link rel="stylesheet" href="index.css"/><!--[if lt IE 8]><link rel="stylesheet" href="index.ie.css"/><![endif]--><script src="//yandex.st/jquery/1.7.2/jquery.min.js"></script><script src="index.js"></script></head><body class="b-page__body b-page"><div class="b-gallery i-bem" onclick="return {&quot;b-gallery&quot;:{}}"><div class="b-fotorama__preloader">Подожидте. Идет загрузка данных...</div></div></body></html>

pages-fb/index/index.js

+31-13
Original file line numberDiff line numberDiff line change
@@ -3553,47 +3553,65 @@ BEM.DOM.decl('b-gallery', {
35533553
js : function() {
35543554
// инициализация блока, аналог $(document).ready()
35553555

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 = [];
35613563

3562-
// инициализация media rss
3563-
$.xmlns["media"] = "http://search.yahoo.com/mrss";
35643564

35653565
// загрука и парсинг данных
35663566
$.get(rss, function(data) {
35673567

3568+
// инициализация media rss
3569+
$.xmlns["media"] = "http://search.yahoo.com/mrss";
3570+
35683571
$(data).find('item').each(function(index){
35693572

35703573
if (index < countPhotos) {
35713574

35723575
var raw = $(this).find("media|thumbnail").attr('url').substr(5,999), // обрезаем http:, для того, что бы работало c htpps
35733576
link = $(this).find('link').text(),
35743577
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+
35763583

35773584
if ( raw && ( raw.indexOf('null') < 0 ) ) {
35783585
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);
35803592
}
35813593

35823594
}
35833595

35843596
});
35853597

3586-
html += '</div>';
3598+
_this.params.photos = photos;
3599+
_this.params.links = links;
35873600

3588-
$('.b-gallery').html(html);
3601+
$('.b-gallery').html('<div class="fotorama b-fotorama"></div>');
35893602

35903603
$('.b-fotorama').fotorama({
35913604
width: gWidth,
35923605
height: gHeight,
35933606
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+
}
35953612
});
35963613

3614+
35973615
}, "xml");
35983616

35993617
}
@@ -3603,7 +3621,7 @@ BEM.DOM.decl('b-gallery', {
36033621
getDefaultParams : function() {
36043622

36053623
return {
3606-
size: '30', // сколько фотографий показыать
3624+
size: '30', // сколько фотографий показывать
36073625
rss: '/rss/rss.xml', // путь к RSS потоку
36083626
gWidth: '800', // ширина слайдера
36093627
gHeight: '520' // высота слайдера

pages-mr/index/index.css

-1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,3 @@
22
@import url(../../blocks/b-page/__body/b-page__body.css);
33
@import url(../../blocks/b-gallery/b-gallery.css);
44
@import url(../../blocks/b-author/b-author.css);
5-
@import url(../../blocks/b-gallery/__preloader/b-gallery__preloader.css);

pages-mr/index/index.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
<!DOCTYPE html><html class="i-ua_js_no i-ua_css_standard"><head><meta charset="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7, IE=edge"/><title>Фото дня на Яндекс.Фотках</title><script>;(function(d,e,c,r){e=d.documentElement;c="className";r="replace";e[c]=e[c][r]("i-ua_js_no","i-ua_js_yes");if(d.compatMode!="CSS1Compat")e[c]=e[c][r]("i-ua_css_standart","i-ua_css_quirks")})(document);</script><link rel="stylesheet" href="index.css"/><!--[if lt IE 8]><link rel="stylesheet" href="index.ie.css"/><![endif]--><script src="//yandex.st/jquery/1.7.2/jquery.min.js"></script><script src="index.js"></script></head><body class="b-page__body b-page"><div class="b-gallery i-bem" onclick="return {&quot;b-gallery&quot;:{}}"><div class="b-gallery__preloader">Подожидте. Идет загрузка данных...</div></div></body></html>
1+
<!DOCTYPE html><html class="i-ua_js_no i-ua_css_standard"><head><meta charset="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7, IE=edge"/><title>Фото дня на Яндекс.Фотках</title><script>;(function(d,e,c,r){e=d.documentElement;c="className";r="replace";e[c]=e[c][r]("i-ua_js_no","i-ua_js_yes");if(d.compatMode!="CSS1Compat")e[c]=e[c][r]("i-ua_css_standart","i-ua_css_quirks")})(document);</script><link rel="stylesheet" href="index.css"/><!--[if lt IE 8]><link rel="stylesheet" href="index.ie.css"/><![endif]--><script src="//yandex.st/jquery/1.7.2/jquery.min.js"></script><script src="index.js"></script></head><body class="b-page__body b-page"><div class="b-gallery i-bem" onclick="return {&quot;b-gallery&quot;:{}}"><div class="b-fotorama__preloader">Подожидте. Идет загрузка данных...</div></div></body></html>

pages-mr/index/index.js

+31-13
Original file line numberDiff line numberDiff line change
@@ -3553,47 +3553,65 @@ BEM.DOM.decl('b-gallery', {
35533553
js : function() {
35543554
// инициализация блока, аналог $(document).ready()
35553555

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 = [];
35613563

3562-
// инициализация media rss
3563-
$.xmlns["media"] = "http://search.yahoo.com/mrss";
35643564

35653565
// загрука и парсинг данных
35663566
$.get(rss, function(data) {
35673567

3568+
// инициализация media rss
3569+
$.xmlns["media"] = "http://search.yahoo.com/mrss";
3570+
35683571
$(data).find('item').each(function(index){
35693572

35703573
if (index < countPhotos) {
35713574

35723575
var raw = $(this).find("media|thumbnail").attr('url').substr(5,999), // обрезаем http:, для того, что бы работало c htpps
35733576
link = $(this).find('link').text(),
35743577
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+
35763583

35773584
if ( raw && ( raw.indexOf('null') < 0 ) ) {
35783585
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);
35803592
}
35813593

35823594
}
35833595

35843596
});
35853597

3586-
html += '</div>';
3598+
_this.params.photos = photos;
3599+
_this.params.links = links;
35873600

3588-
$('.b-gallery').html(html);
3601+
$('.b-gallery').html('<div class="fotorama b-fotorama"></div>');
35893602

35903603
$('.b-fotorama').fotorama({
35913604
width: gWidth,
35923605
height: gHeight,
35933606
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+
}
35953612
});
35963613

3614+
35973615
}, "xml");
35983616

35993617
}
@@ -3603,7 +3621,7 @@ BEM.DOM.decl('b-gallery', {
36033621
getDefaultParams : function() {
36043622

36053623
return {
3606-
size: '30', // сколько фотографий показыать
3624+
size: '30', // сколько фотографий показывать
36073625
rss: '/rss/rss.xml', // путь к RSS потоку
36083626
gWidth: '800', // ширина слайдера
36093627
gHeight: '520' // высота слайдера

pages-vk/index/index.css

-1
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,3 @@
22
@import url(../../blocks/b-page/__body/b-page__body.css);
33
@import url(../../blocks/b-gallery/b-gallery.css);
44
@import url(../../blocks/b-author/b-author.css);
5-
@import url(../../blocks/b-gallery/__preloader/b-gallery__preloader.css);

pages-vk/index/index.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
<!DOCTYPE html><html class="i-ua_js_no i-ua_css_standard"><head><meta charset="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7, IE=edge"/><title>Фото дня на Яндекс.Фотках</title><script>;(function(d,e,c,r){e=d.documentElement;c="className";r="replace";e[c]=e[c][r]("i-ua_js_no","i-ua_js_yes");if(d.compatMode!="CSS1Compat")e[c]=e[c][r]("i-ua_css_standart","i-ua_css_quirks")})(document);</script><link rel="stylesheet" href="index.css"/><!--[if lt IE 8]><link rel="stylesheet" href="index.ie.css"/><![endif]--><script src="//yandex.st/jquery/1.7.2/jquery.min.js"></script><script src="index.js"></script></head><body class="b-page__body b-page"><div class="b-gallery i-bem" onclick="return {&quot;b-gallery&quot;:{}}"><div class="b-gallery__preloader">Подожидте. Идет загрузка данных...</div></div></body></html>
1+
<!DOCTYPE html><html class="i-ua_js_no i-ua_css_standard"><head><meta charset="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7, IE=edge"/><title>Фото дня на Яндекс.Фотках</title><script>;(function(d,e,c,r){e=d.documentElement;c="className";r="replace";e[c]=e[c][r]("i-ua_js_no","i-ua_js_yes");if(d.compatMode!="CSS1Compat")e[c]=e[c][r]("i-ua_css_standart","i-ua_css_quirks")})(document);</script><link rel="stylesheet" href="index.css"/><!--[if lt IE 8]><link rel="stylesheet" href="index.ie.css"/><![endif]--><script src="//yandex.st/jquery/1.7.2/jquery.min.js"></script><script src="index.js"></script></head><body class="b-page__body b-page"><div class="b-gallery i-bem" onclick="return {&quot;b-gallery&quot;:{}}"><div class="b-fotorama__preloader">Подожидте. Идет загрузка данных...</div></div></body></html>

0 commit comments

Comments
 (0)