Skip to content

Instantly share code, notes, and snippets.

@dokxpi
Last active March 10, 2019 08:39
Show Gist options
  • Save dokxpi/09031da54e9715979bb99d1c77bc3f2e to your computer and use it in GitHub Desktop.
Save dokxpi/09031da54e9715979bb99d1c77bc3f2e to your computer and use it in GitHub Desktop.
Вставка галереи на сайт из альбомов vk.com
<style>.pagination div{text-align:center;float:left;margin:0 20px 15px 0;}
.pagination div a{padding-top:2px;width:25px;height:25px;display:block;}
.pagination .prev a,.pagination .next a{width:auto;}
.pagination div a:hover,.pagination div a.active{color:#FFF;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAvRJREFUeNqsls1qGzEQx2e066+U0lPAYLBfwcWlfYKcXNoXKKXQntKPQF6g9JxTP659iBpyyhMkYGrIvRQTg8GnnGyvd1f9z0hyNjVumtiCiWKt9v/TzEg7YvP2N/2jlWF7sGewDqwOa8BGsDGsD+vBTrJvrWSdCK+BRMT0Go8/oa+7mbw6y1rfC9B+RP8dsOxmCFMTgj/wX5sMhL2xQIocKwz8yQtGNMDg8+xra1iUNAVxWW0HdkqRaVMJzlRi4iqsViLaKRHvlInvlbXX3xjX55gn8/U9vB+9H3ZWPXGABuwnJu5yCezYEJcj7SkGMPJehYaV2wyrTxGdNCeb+H6RE2X5BB49zL40Rw7yTiBchsApBNvsPaAK+rKs0MgKHYS9WY2Vg2QQXQgkJZpnZOcpQAocYCFPAEpifcnwAVbbZhEW96slD4nUi6u8hLha5XDIhXij3qOXxcwYM7I2xg8w+YjNh2ENE35h9XWNscQ/xFlCFpIfAI7hM+/DpqBcvaAZPJkunM3TCbxsxRDqYsX1kGAHgRfBg793VXAmAPGcjfXeFra6C+kuum7MCvEhAmgJCDm4qXmQY0Zkqw6godSc2W6MUHUk/lRxIboV4BqM5QgriCrkQ6gb4HGM3dRUT8J2NXcAFEESMsmlnBvZnUnWMDhEDyici2gDQAGkOrJg0YW+wY9LloFoTZJvDQmhA0wPsrk02KIjMmY7gGLYNHR6BEYGOeiTZ2wcqoI3KiX5gT5Q3Lsa3WJzq5b+2GBPH2PDTZa1YVtN9VS3Z/BZmFJOR25sWwDPgG5yeH9q9NDk+WeMnm/NG/dJOVddTY182NI8wfF/igeTjb3RiEAHevP9WuIg8u2XQpPmQ+tA4w29GIvO/E1pWYKN9QXHF5ozKTSYOLgjQAvV/FV0dr3GizgqmtYBqWppNoSrj/DCvr/2/E8b63y8N3tphqu3lcML0opYkwvCSj3BIO9hu4d7V8Pfvcb+7tVHDnoAnMxe8Np71x8BBgDyNk2kVfsDXQAAAABJRU5ErkJggg==) 0 0 no-repeat;}
.pagination .prev a:hover,.pagination .next a:hover{width:auto;color:#1982d1;background:none;}
#lbOverlay{position:fixed;z-index:9999;left:0;top:0;width:100%;height:100%;background-color:#000;cursor:pointer;}
#lbCenter,#lbBottomContainer{position:absolute;z-index:9999;overflow:hidden;background-color:#fff;}
.lbLoading{background:#fff url(data:image/gif;base64,R0lGODlhHwAfANUAAP///5qamiYmJuTk5Ly8vMzMzKqqqrCwsKKioujo6NTU1Pb29qioqKCgoK6urtLS0tzc3NjY2Li4uObm5nBwcMbGxmhoaEZGRkhISDIyMvj4+Pr6+lBQUDY2NsTExFZWVpKSkgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAKAAAAIf8LTkVUU0NBUEUyLjADAQAAACwAAAAAHwAfAAAG/0CAcEhMPAgOBKDDoQQKxKh0CJEErleAYLu1HDRT6YCALWu5XEolPIwYymY0GmNgAxrwuJybCUcaAHlYZ3sCdxFRA28BgVgHBQMLAAkeIB9ojQYDRGSDAQwKYRsIF4ZlBFR5AJt2a3kQQlZlDBN2QxMMcBKTeaG2Qwp5RnAHv1EHcEdwUMZDBXBIcKzNq3BJcJLUAAtwStrNCNjf3GUIDtLfA9adWMzUz6cPxN/IZQ8JvdTBcAkAsli0jOHSJQSCqmlhNr0awo7RJ19TFORqdAXVEEVZyjyKtG1AgXoZA2iK8oeiKkFZGiCaggelSTiA2LhxidLASjZjBL2siNBOFQ84LyXA+mYEiRJzBO7ZCQIAIfkEAQoAIQAsEAAAAA8ADwAABldAhIPwSISOyGRguZRAAEkkc0oYREPTqSESzU4bXe8ylDEgF4PCYRoSCDCVKEDBCLTdAormasXjD1chFRd+AhaBIQiFAgWBGx+FdoEghRSIHoUciAmFHUEAIfkEAQoAIQAsFgAFAAkAFQAABlnAkDDUiAyHgYBhcEwmCQCh0wkJTRjTgESoyAYSIcAh+xAWsgThIOsQLrKIo1yYENjtHaHnbucIQXwCFCEbH4EBIQiBAgUVF4EWQosHQ3wUGkd2GBVzGQZDQQAh+QQBCgAhACwQABAADwAPAAAGWcCQcChcBI5HBJE4QB4dy2HBGSBEQ4AD9XFVUAOJ6IRBlUQroS+EuEFcBGkkARBKeEAfgR5+NAyEe4F6IQ0RQ4KBGUuIehgGi4gUaJB7FgcaVx0cFAEFV0NBACH5BAEKACEALAUAFgAVAAkAAAZUwJAwVBkajYOjUHBBbJQhgIIROAqugg/IkwgtBoVDYFxdYs+CEHk9DmXQZzWb3DBg4Ff53BAhUvB6awRJQhoHFmiBARIQAFAFARQcHSEIDgQPXUZBACH5BAEKACEALAAAEAAPAA8AAAZZwI5gOEyEjsgjhzj0JJMUpgD0RAakn001VJAKENuQRXqpbA/e0KCqiRJDAYYC8KxghvCA/lAYLJAGGXl6hHpPDYWJTxEGiYRVAwSOAVsAEBKKYSEJDwQOCEEAIfkEAQoAIQAsAAAFAAkAFQAABlnAkNCQERpDFYxAcNRQlkvjAQoVWqiCS6WAFSBCAexnE3pSQUIO1iPsYBPHuBARqNcXQoe9PhAS9gEFQg+ABwAhCYABCkISgAwTIRCKQgB/dkcDBnVyEQ1HQQAh+QQBCgAhACwAAAAADwAPAAAGWMCQcEgsBCicDnGoOVgEUOgyVKFEr0sD5oolZrjdUKQRAkeFA0MgUI5+QJ5ECEBYr8sXxIYIsdupUxJ+AQwTUwmDAQpTIQ+DBwCMdX4FjCEOgwOWCIMLlkEAOw==) no-repeat center;}
#lbImage{position:absolute;left:0;top:0;border:10px solid #fff;background-repeat:no-repeat;}
#lbPrevLink,#lbNextLink{display:block;position:absolute;top:0;width:50%;outline:none;}
#lbPrevLink{left:0;}
#lbPrevLink:hover{background:transparent url(data:image/gif;base64,R0lGODlhPwAgAMQaALGxsYSEhNLS0v39/WJiYm1tbenp6dzc3MfHx7q6upqamo+Pj6Wlpby8vN3d3Xl5efT09OXl5bu7u9ra2v7+/ra2tvv7+8zMzFdXV////zMzMwAAAAAAAAAAAAAAAAAAACH5BAEAABoALAAAAAA/ACAAAAXwYCaOZGmeaKqamra+cPy6cm3feK7vfO//wKBwSCwaj8jkDoBpYh4IkbO5cGQE06ZAgWmQGhhAkKkAMAgYQwZTAJgJhCsm4HYbHE9SID3GCEQIYWsBIwx+WGIlD3wZBhgLQkx/GYFicyMLaYgmYIlMUX1lZ3wYBAEBBZdYBaenIhAEBSIFspFOpqClAWgAEHKsrSNcDpVDkiaXZCKbJngMXGq2kySXGalqzCYPqZDGfsiEcoRYdHXTYBig0uCYh1mCr7FK8/T1IhETB/r7+gP2KxcqJBhIMIEEC/9UUBjAsGHDhBAjSpxIseIQGhZTtAgBADs=) no-repeat 0 15%;}
#lbNextLink{right:0;}
#lbNextLink:hover{background:transparent url(data:image/gif;base64,R0lGODlhPwAgAMQcAHp6eqqqqs7OzmFhYfPz89DQ0MLCwtvb221tbZ6enpycnFVVVYaGhra2tufn59bW1oeHh8/Pz76+vvr6+sHBwZKSkvn5+d/f383NzXJycklJSf///zMzMwAAAAAAAAAAACH5BAEAABwALAAAAAA/ACAAAAXfIMdtZGmeaKquLDq2cCzPdG3feK7vfO//wKBwSCwaj8igRsMwATSk53IJ2DA0gVJAU9lOpwIfuPSMYgPoxoYw0Bw2jsWAIFAoMhqI3SFuz82AKAIaVU9hWhqHP4RbCYFlKQlMGo4mW4piVQiJG5BPAKAAaiRsGn+WnECEGwemBJ6EoaOsY6iYPasbjbAqCAsHcgS2SlUkmwtQncknW1mNw6rFtEtmaNa0CCWbipfEqMlSXwTbJYOn3Unp6ukTEQXv8O8YF+stFhQG+fr5Eg/1/wADChxIsOCLgjBEIIQRAgA7) no-repeat 100% 15%;}
#lbBottom{font-family:Verdana, Arial, Geneva, Helvetica, sans-serif;font-size:10px;color:#666;line-height:1.4em;text-align:left;border:10px solid #fff;border-top-style:none;}
#lbCloseLink{display:block;float:right;width:66px;height:22px;background:transparent url(data:image/gif;base64,R0lGODdhQgAWAO4AAP7+/v///3p6etvb28DAwMHBwZ2dnVlZWdLS0oODg6+vr/X19eTk5IyMjLi4uFBQUJSUlFRUVFZWVtzc3MnJyVJSUlhYWFFRUVNTU+zs7FVVVf39/erq6vb29szMzN3d3Xt7e2BgYFdXV6Kiovr6+qampk9PT0xMTPf392ZmZl9fX+Dg4EtLS97e3qGhofz8/PDw8Ovr6/v7+7W1tWxsbJWVlXh4eMrKys3NzXl5efHx8WRkZFpaWufn5+/v77Ozs7GxsePj44eHh2lpaU5OTnNzc01NTZaWlmdnZ3x8fOXl5WNjY5KSkqmpqYiIiN/f37m5ubS0tHBwcIaGhmVlZe3t7XZ2dm1tbZiYmJeXl25ubm9vb46OjtXV1QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAQgAWAAAH/4ABgoOEhYaHiImKi4yNjo+MAJKTlJWWl5eQAS+NmJ6fmJGSATJYXQGWAR4GJKigr6CiAChZJzsfrgCCOConRx2UGQMMsAAMw5cLAwO6i6M/LAcYVAOuqiERBydNkggNAuANCAAEAsyVBAngAgkElA7rCTcBBevrg6McAiYHD0hPgjyowHCAyBQYACgIaEBhAIUECsiZq6RAAAQEAxBAEBBRooKMJTrQ41igZAF8+UA8OBCBxgoc2A4YEYICVYIECybllHhOEgMBBioZmDiUkqB6Ew4ZzQCCn4Yr2Cw8cCISwAAB7iyV68mz0lUHACo62HlUQFJDlQLESFLhgAQRB/8qcKkpaeslu5OKWgIKIIM6ASUYlK1hoLADlEZhWNFwwEKEEa0m4UU3Ma+AS3wBLCDwzexIwoYRTwrgYwtjlhB0TUKA9W5lSfDGUWKdVTLHkWcLpV1RJJsGCXFdbHC14OZOYzknW81smZjmSUBxKx3dgsYFaUNSSLBQYcRwSQoZOkzQYDNHAuiZVbyYcSPYsOxLCDhZT4HJAlUEUU9x/YGNIDdIsN0FwrniTTzjlGNPVums00BtDYJz2Ej2eGbNBylUwMMDIHAgCBQCWnDBCC9Qcoxzr5x4yTI5RRLABEus5F8MqAgywwUiiMBCFMX0mIozAegAQQUmCOChUTNg8IAwFB/46OQozugiAxM5ZJALlEBoocSVT8IiSwAkVHXJBj1w2eUrsjTjiX5n+phmj4EAADs=) no-repeat center;outline:none;margin:5px 0;}
#lbCaption,#lbNumber{margin-right:71px;}
#lbCaption{font-weight:bold;}
.pic-thumb,.album h2{display:none;}
</style>
<!-- <script src="https://cdn.rawgit.com/dokxpi/jquery.EmbedVkGallery/master/js/jquery.slimbox2.js"></script> -->
<script language="JavaScript">
/*!
Slimbox v2.05 - The ultimate lightweight Lightbox clone for jQuery
(c) 2007-2013 Christophe Beyls <http://www.digitalia.be>
MIT-style license.
*/
(function(w){var E=w(window),u,f,F=-1,n,x,D,v,y,L,r,m=!window.XMLHttpRequest,s=[],l=document.documentElement,k={},t=new Image(),J=new Image(),H,a,g,p,I,d,G,c,A,K;w(function(){w("body").append(w([H=w('<div id="lbOverlay" />').click(C)[0],a=w('<div id="lbCenter" />')[0],G=w('<div id="lbBottomContainer" />')[0]]).css("display","none"));g=w('<div id="lbImage" />').appendTo(a).append(p=w('<div style="position: relative;" />').append([I=w('<a id="lbPrevLink" href="#" />').click(B)[0],d=w('<a id="lbNextLink" href="#" />').click(e)[0]])[0])[0];c=w('<div id="lbBottom" />').appendTo(G).append([w('<a id="lbCloseLink" href="#" />').click(C)[0],A=w('<div id="lbCaption" />')[0],K=w('<div id="lbNumber" />')[0],w('<div style="clear: both;" />')[0]])[0]});w.slimbox=function(O,N,M){u=w.extend({loop:false,overlayOpacity:0.8,overlayFadeDuration:400,resizeDuration:400,resizeEasing:"swing",initialWidth:250,initialHeight:250,imageFadeDuration:400,captionAnimationDuration:400,counterText:"Image {x} of {y}",closeKeys:[27,88,67],previousKeys:[37,80],nextKeys:[39,78]},M);if(typeof O=="string"){O=[[O,N]];N=0}y=E.scrollTop()+(E.height()/2);L=u.initialWidth;r=u.initialHeight;w(a).css({top:Math.max(0,y-(r/2)),width:L,height:r,marginLeft:-L/2}).show();v=m||(H.currentStyle&&(H.currentStyle.position!="fixed"));if(v){H.style.position="absolute"}w(H).css("opacity",u.overlayOpacity).fadeIn(u.overlayFadeDuration);z();j(1);f=O;u.loop=u.loop&&(f.length>1);return b(N)};w.fn.slimbox=function(M,P,O){P=P||function(Q){return[Q.href,Q.title]};O=O||function(){return true};var N=this;return N.unbind("click").click(function(){var S=this,U=0,T,Q=0,R;T=w.grep(N,function(W,V){return O.call(S,W,V)});for(R=T.length;Q<R;++Q){if(T[Q]==S){U=Q}T[Q]=P(T[Q],Q)}return w.slimbox(T,U,M)})};function z(){var N=E.scrollLeft(),M=E.width();w([a,G]).css("left",N+(M/2));if(v){w(H).css({left:N,top:E.scrollTop(),width:M,height:E.height()})}}function j(M){if(M){w("object").add(m?"select":"embed").each(function(O,P){s[O]=[P,P.style.visibility];P.style.visibility="hidden"})}else{w.each(s,function(O,P){P[0].style.visibility=P[1]});s=[]}var N=M?"bind":"unbind";E[N]("scroll resize",z);w(document)[N]("keydown",o)}function o(O){var N=O.which,M=w.inArray;return(M(N,u.closeKeys)>=0)?C():(M(N,u.nextKeys)>=0)?e():(M(N,u.previousKeys)>=0)?B():null}function B(){return b(x)}function e(){return b(D)}function b(M){if(M>=0){F=M;n=f[F][0];x=(F||(u.loop?f.length:0))-1;D=((F+1)%f.length)||(u.loop?0:-1);q();a.className="lbLoading";k=new Image();k.onload=i;k.src=n}return false}function i(){a.className="";w(g).css({backgroundImage:"url("+n+")",visibility:"hidden",display:""});w(p).width(k.width);w([p,I,d]).height(k.height);w(A).html(f[F][1]||"");w(K).html((((f.length>1)&&u.counterText)||"").replace(/{x}/,F+1).replace(/{y}/,f.length));if(x>=0){t.src=f[x][0]}if(D>=0){J.src=f[D][0]}L=g.offsetWidth;r=g.offsetHeight;var M=Math.max(0,y-(r/2));if(a.offsetHeight!=r){w(a).animate({height:r,top:M},u.resizeDuration,u.resizeEasing)}if(a.offsetWidth!=L){w(a).animate({width:L,marginLeft:-L/2},u.resizeDuration,u.resizeEasing)}w(a).queue(function(){w(G).css({width:L,top:M+r,marginLeft:-L/2,visibility:"hidden",display:""});w(g).css({display:"none",visibility:"",opacity:""}).fadeIn(u.imageFadeDuration,h)})}function h(){if(x>=0){w(I).show()}if(D>=0){w(d).show()}w(c).css("marginTop",-c.offsetHeight).animate({marginTop:0},u.captionAnimationDuration);G.style.visibility=""}function q(){k.onload=null;k.src=t.src=J.src=n;w([a,g,c]).stop(true);w([I,d,g,G]).hide()}function C(){if(F>=0){q();F=x=D=-1;w(a).hide();w(H).stop().fadeOut(u.overlayFadeDuration,j)}return false}})(jQuery);
// AUTOLOAD CODE BLOCK (MAY BE CHANGED OR REMOVED)
if (!/android|iphone|ipod|series60|symbian|windows ce|blackberry/i.test(navigator.userAgent)) {
jQuery(function($) {
$("a[rel^='lightbox']").slimbox({/* Put custom options here */}, null, function(el) {
return (this == el) || ((this.rel.length > 8) && (this.rel == el.rel));
});
});
}
</script>
<!-- <script src="https://cdn.rawgit.com/dokxpi/jquery.EmbedVkGallery/master/js/jquery.embedvkgallery.js"></script> -->
<script language="JavaScript">
(function($) {
$(function() {
var nps = 'EmbedVkGallery';
$[nps] = {
/**
* Can be [s,m,x,o,p,q,y,z,w]
* Look into https://vk.com/dev/photo_sizes
*/
full_image_size: 'x',
width: 100,
margin: 4,
static: 0, /* functionality hasn't been implemented yet */
height: 0, /* functionality hasn't been implemented yet */
rev: 1,
shuffle: 0,
limit: 0,
link: '',
link_mapper: function(el){
return [
el.href,
'<a href="'+el.href+'">'+el.title+'</a>'
]
}
};
function getRandomInt(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
function embedVkGalleryCompareRandom(a, b) {
return Math.random() - 0.5;
}
$.fn[nps] = function(opts) {
opts = opts || {};
opts = (typeof(opts) !== 'object' ) ? {link:opts} : opts;
var localOpts = $.extend({}, $[nps], opts),
json;
function showAlbum() {
var $this = $(this),
$array_for_promises = [],
$loader_block,
$loader_blinding_block,
gallerySetName = 'gallerySetName' + +new Date(),
meta_opts = $.extend({}, localOpts, $this.data()),
res = /(-?\d+)_(\d+)/g.exec(meta_opts.link);
if (!res || res.length < 3) {return;}
$loader_blinding_block = $('<span/>', {text: '...'});
$loader_block = $('<div/>', {
text: 'Загрузка фотографий, пожалуйста подождите',
style: 'text-align: center; padding: 20px 20px;',
'class': 'jquery-embedvkgallery-loader-block'
});
$loader_block.append($loader_blinding_block);
$this.append($loader_block);
setInterval(function() {
$loader_blinding_block.fadeOut(500).fadeIn(500);
}, 1000);
/**
* photo_sizes=1 returns special formats
* https://vk.com/dev/photo_sizes
*/
var query = 'https://embedvkgallery.help-master.net/vkgallery.php?&photo_sizes=1&extended=1&album_id=' + res[2]
+ '&count=1000'
+ '&owner_id=' + res[1]
+ '&rev=' + meta_opts.rev
/**
* Version of VK API
*/
+ '&v=5.62&callback=?';
if (meta_opts.width < 0) {return;}
meta_opts.height = meta_opts.width - (meta_opts.width / 2 ^ 0);
function resize($img) {
var $div = $img.closest('div'),
d_h = $div.height(),
d_w = $div.width(),
i_h = $img.height(),
i_w = $img.width();
var max = d_h > d_w ? d_h : d_w;
if (i_h > i_w) { $img.width(max); } else { $img.height(max); }
return $img;
}
function getCountRows(count, width, parentWidth) {
var min = parentWidth / width ^ 0,
result = [];
if (count <= min) {
return [count];
} else {
while (count > 0) {
if ((count - min) > min) {
result[result.length] = min;
} else {
result[result.length] = count / 2 ^ 0;
result[result.length] = count - result[result.length - 1];
count = 0;
}
count -= result[result.length - 1];
}
}
for (var i = 0; i < result.length; i++) {
if (i % 2 === 0) {
if (i <= (result.length-2)) {
if (result[i] > 3 && result[i+1] > 3) {
var max = (result[i] / 3 ^ 0) < (result[i+1] / 3 ^ 0) ?
result[i] / 3 ^ 0 : result[i + 1] / 3 ^ 0,
plusOrMinus = Math.random() < 0.5 ? -1 : 1,
a = getRandomInt(1, max) * plusOrMinus;
result[i] += a;
result[i + 1] -= a;
}
}
}
}
return result;
}
function expanding($row) {
var $divs = $('div', $row),
totalWidth = $divs.length * meta_opts.margin,
diff,
newWidth,
newHeight;
$divs.each(function() {
totalWidth += $(this).data('newWidth');
});
totalWidth = totalWidth ^ 0;
var a = (totalWidth > $this.width()) ? -1 : 1;
while ( totalWidth !== $this.width() ) {
diff = ($this.width() - totalWidth ^ 0 ) / $divs.length ^ 0;
diff = Math.abs(diff);
if (diff > 2) { a *= diff; }
$divs.each(function() {
newWidth = $(this).data('newWidth') + a;
$(this).data({ newWidth: newWidth });
totalWidth += a;
return (totalWidth !== $this.width());
});
newHeight = $divs.eq(0).data('newHeight') + a;
$divs.data('newHeight', newHeight);
a = (totalWidth > $this.width()) ? -1 : 1;
}
$divs.each(function() {
$(this).css({
width: $(this).data('newWidth'),
height: $(this).data('newHeight'),
float: 'left',
marginRight: meta_opts.margin + 'px',
marginTop: meta_opts.margin + 'px',
boxSizing: 'border-box',
overflow: 'hidden'
});
var $def = $.Deferred();
$array_for_promises.push($def);
var $a = $('<a/>', {
href: $(this).data('maxSrc'),
rel: gallerySetName,
'class': 'embedvkgallery_link',
'data-lightbox': gallerySetName,
title: $(this).data('text')
}),
$img = $('<img/>', {
src: $(this).data('src'),
'class': 'embedvkgallery_img'
})
.css({ margin: 0, display: 'none' })
.one('load', function() {
resize( $(this) );
$def.resolve();
})
.on('error', function() {
$def.resolve();
});
$a.append($img).appendTo( $(this) );
});
return $row;
}
function addSlider($elem) {
if ($.fn.slimbox){
$('a', $elem).slimbox({}, meta_opts.link_mapper);
} else if ($.fn.swipebox) {
$('a.embedvkgallery_link', $elem).swipebox({}, meta_opts.link_mapper);
}
}
function renderAlbumList(data) {
if (data.response && data.response.count > 0) {
/**
* Shuffle array if `shuffle` = 1
*/
if (+meta_opts.shuffle) {
data.response.items.sort(embedVkGalleryCompareRandom);
}
/**
* Slice array by option LIMIT
*/
if (meta_opts.limit && +meta_opts.limit && meta_opts.limit < data.response.count) {
data.response.items.length = meta_opts.limit;
data.response.count = data.response.items.length;
}
json = data;
var arr = getCountRows(data.response.count, meta_opts.width, $this.width()),
sizes = 2,
item = 0;
for (var i = 0; i < arr.length; i++) {
var $row = $('<div/>');
for (var j = 0; j < arr[i]; j++) {
var c_height = data.response.items[item].sizes[sizes].height,
c_width = data.response.items[item].sizes[sizes].width,
newWidth = c_width * meta_opts.height / c_height ^ 0,
maxSrc,
grepResults;
/**
* Finding the maxSrc url which we need
*/
grepResults = $.grep(data.response.items[item].sizes, function(size) {
return size.type == localOpts.full_image_size;
});
if ( ! grepResults || ! grepResults.length ) {
grepResults = $.grep(data.response.items[item].sizes, function(size) {
return size.type == 'm';
});
if ( ! grepResults || ! grepResults.length ) {
grepResults = $.grep(data.response.items[item].sizes, function(size) {
return size.type == 's';
});
}
}
if ( ! grepResults || ! grepResults.length ) {
continue;
}
maxSrc = grepResults[0].src;
$('<div/>').data({
newHeight: meta_opts.height,
newWidth: newWidth,
src: data.response.items[item].sizes[sizes].src,
text: data.response.items[item].text,
maxSrc: maxSrc
}).appendTo($row);
item++;
}
expanding($row).appendTo($this);
addSlider($this);
}
$.when.apply(null, $array_for_promises).done(function() {
$loader_block.hide('slow');
$this.find('.embedvkgallery_img').fadeIn('slow');
});
} else {
$this.text('Album not found');
}
}
function filterCollection(data) {
if (data.response) {
$this.text('Album not found');
return false;
}
}
/**
* Get Album data from VK
*/
if (!json) {
$.getJSON(query, renderAlbumList)
.fail(function() {
$loader_block.html('Ошибка загрузки фотографий :(');
});
} else {
renderAlbumList(json);
}
}
return this.each(showAlbum);
};
});
})(jQuery);
</script>
<!-- {"error":{"error_code":8,"error_msg":"Invalid request: v (version) is required","request_params":[{"key":"oauth","value":"1"},{"key":"method","value":"photos.get"},{"key":"","value":""}]}} --><!--vkgallery.php-->
<div align="center">
<div style="padding:0 8px 0 8px;"><p align="left">
Мастерская "tokarprofi" (<strong>токарная мастерская</strong>) изготовит по вашим чертежам, требованиям и пожеланиям <strong>токарные</strong>, <strong>фрезерные</strong>, сверлильные, <strong>зубофрезерные</strong>, координатно-расточные и сварочные работы любой сложности. Хороший парк станков. Доставка по всей Украине (самовывоз из г. Одесса ).</p>
<div id="btext2" align="left">Для расчёта стоимости изделия и сроков изготовления, вышлите чертеж, фотографию образца или эскиз необходимого изделия в ватсап, вайбер&#160;<a rel="nofollow" href="tel:+380632983380"><i class='fa fa-phone-square'>&#160;</i>(063) 298-33-80</a> или на наш электронный адрес <a rel="nofollow" href="mailto:sales@tokarprofi.com">sales@tokarprofi.com</a>. Ждем ваших заказов!<br/></div><div style="clear:both;"></div></div>
<div class="pagination">
<div><a class="active" href="javascript:SwitchTab('tb_1', 'content_1');" id="tb_1" class="active">1</a></div>
<div><a href="javascript:SwitchTab('tb_2', 'content_2');" id="tb_2">2</a></div>
<div><a href="javascript:SwitchTab('tb_3', 'content_3');" id="tb_3">3</a></div>
</div><div style='clear: both;'></div>
<div id="content_1">
<!-- паказываем альбом (загружается всегда первый) -->
<div data-link="http://vk.com/album-137090999_242074991" id="vk1" style="width: 570px;" data-width="141" class="p embedvkgallery"></div>
</div>
<div id="content_2" style="display:none;">
<!-- прячем первый альбом и показываем второй -->
<div data-link="http://vk.com/album-137090999_242065048" id="vk2" style="width: 570px;" data-width="141" class="p embedvkgallery"></div>
</div>
<div id="content_3" style="display:none;">
<!-- прячем первый альбом и показываем второй -->
<div data-link="http://vk.com/album-137090999_241274051" id="vk3" style="width: 570px;" data-width="142" class="p embedvkgallery"></div>
</div>
</div>
<script>
function SwitchTab(my_tab, my_content) {
var div_content = document.getElementById(my_content);
document.getElementById('content_1').style.display = 'none';
document.getElementById('content_2').style.display = 'none';
document.getElementById('content_3').style.display = 'none';
div_content.style.display = 'block';
document.getElementById('tb_1').className = '';
document.getElementById('tb_2').className = '';
document.getElementById('tb_3').className = '';
document.getElementById(my_tab).className = 'active';
/**
Сначала ищем в нужной нам вкладке див с классом embedvkgallery.
Потом скприт сам возьмет ссылку из data-link атрибута.
*/
jQuery(div_content).find('.embedvkgallery').each(function() {
var $this = jQuery(this);
// если вкладка открывается впервый раз - внутри не будет картинок.
// тогда загружаем альбом из ВК
if (! $this.find('img').length ) {
$this.EmbedVkGallery();
}
});
}
(function($) {
$(function() {
// Первоночально загружаем картинки в первый див
$('#vk1').EmbedVkGallery();
});
})(window.jQuery);
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment