Merge branch 'hotfix/update-magnific-popup'
This commit is contained in:
commit
94749a32f9
6 changed files with 174 additions and 98 deletions
|
@ -32,8 +32,8 @@ Apply the `half` class like so to display two images side by side that share the
|
||||||
And you'll get something that looks like this:
|
And you'll get something that looks like this:
|
||||||
|
|
||||||
<figure class="half">
|
<figure class="half">
|
||||||
<img src="http://placehold.it/600x300.jpg">
|
<a href="http://placehold.it/1200x600.jpg"><img src="http://placehold.it/600x300.jpg"></a>
|
||||||
<img src="http://placehold.it/600x300.jpg">
|
<a href="http://placehold.it/1200x600.jpg"><img src="http://placehold.it/600x300.jpg"></a>
|
||||||
<figcaption>Two images.</figcaption>
|
<figcaption>Two images.</figcaption>
|
||||||
</figure>
|
</figure>
|
||||||
|
|
||||||
|
|
|
@ -2237,6 +2237,20 @@ html {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
cursor: auto;
|
cursor: auto;
|
||||||
}
|
}
|
||||||
|
.mfp-inline-holder .mfp-content:after,
|
||||||
|
.mfp-ajax-holder .mfp-content:after {
|
||||||
|
content: '';
|
||||||
|
display: block;
|
||||||
|
width: auto;
|
||||||
|
height: auto;
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
bottom: 0;
|
||||||
|
right: 0;
|
||||||
|
z-index: -1;
|
||||||
|
box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
|
||||||
|
}
|
||||||
.mfp-ajax-cur {
|
.mfp-ajax-cur {
|
||||||
cursor: progress;
|
cursor: progress;
|
||||||
}
|
}
|
||||||
|
@ -2427,12 +2441,12 @@ button::-moz-focus-inner {
|
||||||
}
|
}
|
||||||
.mfp-arrow-left:after,
|
.mfp-arrow-left:after,
|
||||||
.mfp-arrow-left .mfp-a {
|
.mfp-arrow-left .mfp-a {
|
||||||
border-right: 12px solid white;
|
border-right: 12px solid #fff;
|
||||||
left: 5px;
|
left: 5px;
|
||||||
}
|
}
|
||||||
.mfp-arrow-left:before,
|
.mfp-arrow-left:before,
|
||||||
.mfp-arrow-left .mfp-b {
|
.mfp-arrow-left .mfp-b {
|
||||||
border-right: 20px solid white;
|
border-right: 20px solid #fff;
|
||||||
}
|
}
|
||||||
.mfp-arrow-right {
|
.mfp-arrow-right {
|
||||||
right: 0;
|
right: 0;
|
||||||
|
@ -2454,12 +2468,12 @@ button::-moz-focus-inner {
|
||||||
}
|
}
|
||||||
.mfp-arrow-right:after,
|
.mfp-arrow-right:after,
|
||||||
.mfp-arrow-right .mfp-a {
|
.mfp-arrow-right .mfp-a {
|
||||||
border-left: 12px solid white;
|
border-left: 12px solid #fff;
|
||||||
left: 3px;
|
left: 3px;
|
||||||
}
|
}
|
||||||
.mfp-arrow-right:before,
|
.mfp-arrow-right:before,
|
||||||
.mfp-arrow-right .mfp-b {
|
.mfp-arrow-right .mfp-b {
|
||||||
border-left: 20px solid white;
|
border-left: 20px solid #fff;
|
||||||
}
|
}
|
||||||
.mfp-iframe-holder {
|
.mfp-iframe-holder {
|
||||||
padding-top: 40px;
|
padding-top: 40px;
|
||||||
|
@ -2478,7 +2492,8 @@ button::-moz-focus-inner {
|
||||||
}
|
}
|
||||||
.mfp-iframe-scaler iframe {
|
.mfp-iframe-scaler iframe {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: -3px;
|
display: block;
|
||||||
|
top: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
@ -2486,7 +2501,7 @@ button::-moz-focus-inner {
|
||||||
background: black;
|
background: black;
|
||||||
}
|
}
|
||||||
.mfp-iframe-holder .mfp-close {
|
.mfp-iframe-holder .mfp-close {
|
||||||
top: -43px;
|
top: -40px;
|
||||||
}
|
}
|
||||||
/* Main image in popup */
|
/* Main image in popup */
|
||||||
img.mfp-img {
|
img.mfp-img {
|
||||||
|
|
|
@ -80,7 +80,7 @@
|
||||||
};
|
};
|
||||||
})( jQuery );
|
})( jQuery );
|
||||||
|
|
||||||
/*! Magnific Popup - v0.8.5 - 2013-05-15
|
/*! Magnific Popup - v0.8.9 - 2013-06-04
|
||||||
* http://dimsemenov.com/plugins/magnific-popup/
|
* http://dimsemenov.com/plugins/magnific-popup/
|
||||||
* Copyright (c) 2013 Dmitry Semenov; */
|
* Copyright (c) 2013 Dmitry Semenov; */
|
||||||
;(function($) {
|
;(function($) {
|
||||||
|
@ -97,6 +97,7 @@
|
||||||
* Private static constants
|
* Private static constants
|
||||||
*/
|
*/
|
||||||
var CLOSE_EVENT = 'Close',
|
var CLOSE_EVENT = 'Close',
|
||||||
|
AFTER_CLOSE_EVENT = 'AfterClose',
|
||||||
BEFORE_APPEND_EVENT = 'BeforeAppend',
|
BEFORE_APPEND_EVENT = 'BeforeAppend',
|
||||||
MARKUP_PARSE_EVENT = 'MarkupParse',
|
MARKUP_PARSE_EVENT = 'MarkupParse',
|
||||||
OPEN_EVENT = 'Open',
|
OPEN_EVENT = 'Open',
|
||||||
|
@ -223,7 +224,7 @@ MagnificPopup.prototype = {
|
||||||
init: function() {
|
init: function() {
|
||||||
var appVersion = navigator.appVersion;
|
var appVersion = navigator.appVersion;
|
||||||
mfp.isIE7 = appVersion.indexOf("MSIE 7.") !== -1;
|
mfp.isIE7 = appVersion.indexOf("MSIE 7.") !== -1;
|
||||||
mfp.isIE8 = appVersion.indexOf("MSIE 8.") !== -1,
|
mfp.isIE8 = appVersion.indexOf("MSIE 8.") !== -1;
|
||||||
mfp.isLowIE = mfp.isIE7 || mfp.isIE8;
|
mfp.isLowIE = mfp.isIE7 || mfp.isIE8;
|
||||||
mfp.isAndroid = (/android/gi).test(appVersion);
|
mfp.isAndroid = (/android/gi).test(appVersion);
|
||||||
mfp.isIOS = (/iphone|ipad|ipod/gi).test(appVersion);
|
mfp.isIOS = (/iphone|ipad|ipod/gi).test(appVersion);
|
||||||
|
@ -242,23 +243,12 @@ MagnificPopup.prototype = {
|
||||||
*/
|
*/
|
||||||
open: function(data) {
|
open: function(data) {
|
||||||
|
|
||||||
mfp.items = data.items.length ? data.items : [data.items];
|
|
||||||
|
|
||||||
if(mfp.isOpen) {
|
|
||||||
mfp.updateItemHTML();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var i;
|
var i;
|
||||||
|
|
||||||
mfp.types = [];
|
if(data.isObj === false) {
|
||||||
_wrapClasses = '';
|
// convert jQuery collection to array to avoid conflicts later
|
||||||
|
mfp.items = data.items.toArray();
|
||||||
mfp.ev = data.el || _document;
|
|
||||||
|
|
||||||
if(data.isObj) {
|
|
||||||
mfp.index = data.index || 0;
|
|
||||||
} else {
|
|
||||||
mfp.index = 0;
|
mfp.index = 0;
|
||||||
var items = data.items,
|
var items = data.items,
|
||||||
item;
|
item;
|
||||||
|
@ -272,8 +262,20 @@ MagnificPopup.prototype = {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
mfp.items = $.isArray(data.items) ? data.items : [data.items];
|
||||||
|
mfp.index = data.index || 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// if popup is already opened - we just update the content
|
||||||
|
if(mfp.isOpen) {
|
||||||
|
mfp.updateItemHTML();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
mfp.types = [];
|
||||||
|
_wrapClasses = '';
|
||||||
|
mfp.ev = data.mainEl || _document;
|
||||||
|
|
||||||
if(data.key) {
|
if(data.key) {
|
||||||
if(!mfp.popupsCache[data.key]) {
|
if(!mfp.popupsCache[data.key]) {
|
||||||
|
@ -308,7 +310,7 @@ MagnificPopup.prototype = {
|
||||||
|
|
||||||
mfp.container = _getEl('container', mfp.wrap);
|
mfp.container = _getEl('container', mfp.wrap);
|
||||||
}
|
}
|
||||||
|
|
||||||
mfp.contentContainer = _getEl('content');
|
mfp.contentContainer = _getEl('content');
|
||||||
if(mfp.st.preloader) {
|
if(mfp.st.preloader) {
|
||||||
mfp.preloader = _getEl('preloader', mfp.container, mfp.st.tLoading);
|
mfp.preloader = _getEl('preloader', mfp.container, mfp.st.tLoading);
|
||||||
|
@ -389,11 +391,13 @@ MagnificPopup.prototype = {
|
||||||
var bodyStyles = {};
|
var bodyStyles = {};
|
||||||
|
|
||||||
if( mfp.fixedContentPos ) {
|
if( mfp.fixedContentPos ) {
|
||||||
var s = mfp._getScrollbarSize();
|
if(mfp._hasScrollBar(windowHeight)){
|
||||||
if(s) {
|
var s = mfp._getScrollbarSize();
|
||||||
bodyStyles.paddingRight = s;
|
if(s) {
|
||||||
}
|
bodyStyles.paddingRight = s;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if(mfp.fixedContentPos) {
|
if(mfp.fixedContentPos) {
|
||||||
if(!mfp.isIE7) {
|
if(!mfp.isIE7) {
|
||||||
|
@ -494,11 +498,11 @@ MagnificPopup.prototype = {
|
||||||
mfp._removeClassFromMFP(classesToRemove);
|
mfp._removeClassFromMFP(classesToRemove);
|
||||||
|
|
||||||
if(mfp.fixedContentPos) {
|
if(mfp.fixedContentPos) {
|
||||||
var bodyStyles = {paddingRight: 0};
|
var bodyStyles = {paddingRight: ''};
|
||||||
if(mfp.isIE7) {
|
if(mfp.isIE7) {
|
||||||
$('body, html').css('overflow', 'auto');
|
$('body, html').css('overflow', '');
|
||||||
} else {
|
} else {
|
||||||
bodyStyles.overflow = 'visible';
|
bodyStyles.overflow = '';
|
||||||
}
|
}
|
||||||
_body.css(bodyStyles);
|
_body.css(bodyStyles);
|
||||||
}
|
}
|
||||||
|
@ -525,6 +529,8 @@ MagnificPopup.prototype = {
|
||||||
mfp.content = null;
|
mfp.content = null;
|
||||||
mfp.currTemplate = null;
|
mfp.currTemplate = null;
|
||||||
mfp.prevHeight = 0;
|
mfp.prevHeight = 0;
|
||||||
|
|
||||||
|
_mfpTrigger(AFTER_CLOSE_EVENT);
|
||||||
},
|
},
|
||||||
|
|
||||||
updateSize: function(winHeight) {
|
updateSize: function(winHeight) {
|
||||||
|
@ -538,6 +544,10 @@ MagnificPopup.prototype = {
|
||||||
} else {
|
} else {
|
||||||
mfp.wH = winHeight || _window.height();
|
mfp.wH = winHeight || _window.height();
|
||||||
}
|
}
|
||||||
|
// Fixes #84: popup incorrectly positioned with position:relative on body
|
||||||
|
if(!mfp.fixedContentPos) {
|
||||||
|
mfp.wrap.css('height', mfp.wH);
|
||||||
|
}
|
||||||
|
|
||||||
_mfpTrigger('Resize');
|
_mfpTrigger('Resize');
|
||||||
|
|
||||||
|
@ -639,7 +649,6 @@ MagnificPopup.prototype = {
|
||||||
parseEl: function(index) {
|
parseEl: function(index) {
|
||||||
var item = mfp.items[index],
|
var item = mfp.items[index],
|
||||||
type = item.type;
|
type = item.type;
|
||||||
|
|
||||||
|
|
||||||
if(item.tagName) {
|
if(item.tagName) {
|
||||||
item = { el: $(item) };
|
item = { el: $(item) };
|
||||||
|
@ -720,9 +729,16 @@ MagnificPopup.prototype = {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(e.type)
|
if(e.type) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
|
||||||
|
// This will prevent popup from closing if element is inside and popup is already opened
|
||||||
|
if(mfp.isOpen) {
|
||||||
|
e.stopPropagation();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
options.el = $(e.mfpEl);
|
options.el = $(e.mfpEl);
|
||||||
if(options.delegate) {
|
if(options.delegate) {
|
||||||
options.items = el.find(options.delegate);
|
options.items = el.find(options.delegate);
|
||||||
|
@ -780,12 +796,8 @@ MagnificPopup.prototype = {
|
||||||
mfp.wrap.removeClass(cName);
|
mfp.wrap.removeClass(cName);
|
||||||
},
|
},
|
||||||
_hasScrollBar: function(winHeight) {
|
_hasScrollBar: function(winHeight) {
|
||||||
if(document.body.clientHeight > (winHeight || _window.height()) ) {
|
return ( (mfp.isIE7 ? _document.height() : document.body.scrollHeight) > (winHeight || _window.height()) )
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
},
|
},
|
||||||
|
|
||||||
_parseMarkup: function(template, values, item) {
|
_parseMarkup: function(template, values, item) {
|
||||||
var arr;
|
var arr;
|
||||||
if(item.data) {
|
if(item.data) {
|
||||||
|
@ -983,6 +995,7 @@ for(i = 0; i < rounds; i++) {
|
||||||
console.log('Test #2:', performance.now() - start);
|
console.log('Test #2:', performance.now() - start);
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
/*>>core*/
|
/*>>core*/
|
||||||
|
|
||||||
/*>>inline*/
|
/*>>inline*/
|
||||||
|
@ -1025,7 +1038,8 @@ $.magnificPopup.registerModule(INLINE_NS, {
|
||||||
if(el.length) {
|
if(el.length) {
|
||||||
|
|
||||||
// If target element has parent - we replace it with placeholder and put it back after popup is closed
|
// If target element has parent - we replace it with placeholder and put it back after popup is closed
|
||||||
if(el[0].parentNode !== null) {
|
var parent = el[0].parentNode;
|
||||||
|
if(parent && parent.tagName) {
|
||||||
if(!_inlinePlaceholder) {
|
if(!_inlinePlaceholder) {
|
||||||
_hiddenClass = inlineSt.hiddenClass;
|
_hiddenClass = inlineSt.hiddenClass;
|
||||||
_inlinePlaceholder = _getEl(_hiddenClass);
|
_inlinePlaceholder = _getEl(_hiddenClass);
|
||||||
|
@ -1094,10 +1108,14 @@ $.magnificPopup.registerModule(AJAX_NS, {
|
||||||
var opts = $.extend({
|
var opts = $.extend({
|
||||||
url: item.src,
|
url: item.src,
|
||||||
success: function(data, textStatus, jqXHR) {
|
success: function(data, textStatus, jqXHR) {
|
||||||
|
var temp = {
|
||||||
|
data:data,
|
||||||
|
xhr:jqXHR
|
||||||
|
};
|
||||||
|
|
||||||
_mfpTrigger('ParseAjax', jqXHR);
|
_mfpTrigger('ParseAjax', temp);
|
||||||
|
|
||||||
mfp.appendContent( $(jqXHR.responseText), AJAX_NS );
|
mfp.appendContent( $(temp.data), AJAX_NS );
|
||||||
|
|
||||||
item.finished = true;
|
item.finished = true;
|
||||||
|
|
||||||
|
@ -1111,6 +1129,7 @@ $.magnificPopup.registerModule(AJAX_NS, {
|
||||||
|
|
||||||
mfp.updateStatus('ready');
|
mfp.updateStatus('ready');
|
||||||
|
|
||||||
|
_mfpTrigger('AjaxContentAdded');
|
||||||
},
|
},
|
||||||
error: function() {
|
error: function() {
|
||||||
_removeAjaxCursor();
|
_removeAjaxCursor();
|
||||||
|
@ -1435,7 +1454,9 @@ $.magnificPopup.registerModule(IFRAME_NS, {
|
||||||
//}
|
//}
|
||||||
});
|
});
|
||||||
|
|
||||||
_mfpOn(CLOSE_EVENT + '.' + IFRAME_NS, _fixIframeBugs);
|
_mfpOn(CLOSE_EVENT + '.' + IFRAME_NS, function() {
|
||||||
|
_fixIframeBugs();
|
||||||
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
getIframe: function(item, template) {
|
getIframe: function(item, template) {
|
||||||
|
@ -1521,8 +1542,10 @@ $.magnificPopup.registerModule('gallery', {
|
||||||
|
|
||||||
if(gSt.navigateByImgClick) {
|
if(gSt.navigateByImgClick) {
|
||||||
mfp.wrap.on('click'+ns, '.mfp-img', function() {
|
mfp.wrap.on('click'+ns, '.mfp-img', function() {
|
||||||
mfp.next();
|
if(mfp.items.length > 1) {
|
||||||
return false;
|
mfp.next();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1543,11 +1566,11 @@ $.magnificPopup.registerModule('gallery', {
|
||||||
|
|
||||||
_mfpOn(MARKUP_PARSE_EVENT+ns, function(e, element, values, item) {
|
_mfpOn(MARKUP_PARSE_EVENT+ns, function(e, element, values, item) {
|
||||||
var l = mfp.items.length;
|
var l = mfp.items.length;
|
||||||
values.counter = l ? _replaceCurrTotal(gSt.tCounter, item.index, l) : '';
|
values.counter = l > 1 ? _replaceCurrTotal(gSt.tCounter, item.index, l) : '';
|
||||||
});
|
});
|
||||||
|
|
||||||
_mfpOn('BuildControls' + ns, function() {
|
_mfpOn('BuildControls' + ns, function() {
|
||||||
if(gSt.arrows && !mfp.arrowLeft) {
|
if(mfp.items.length > 1 && gSt.arrows && !mfp.arrowLeft) {
|
||||||
var markup = gSt.arrowMarkup,
|
var markup = gSt.arrowMarkup,
|
||||||
arrowLeft = mfp.arrowLeft = $( markup.replace('%title%', gSt.tPrev).replace('%dir%', 'left') ).addClass(PREVENT_CLOSE_CLASS),
|
arrowLeft = mfp.arrowLeft = $( markup.replace('%title%', gSt.tPrev).replace('%dir%', 'left') ).addClass(PREVENT_CLOSE_CLASS),
|
||||||
arrowRight = mfp.arrowRight = $( markup.replace('%title%', gSt.tNext).replace('%dir%', 'right') ).addClass(PREVENT_CLOSE_CLASS);
|
arrowRight = mfp.arrowRight = $( markup.replace('%title%', gSt.tNext).replace('%dir%', 'right') ).addClass(PREVENT_CLOSE_CLASS);
|
||||||
|
@ -1586,7 +1609,7 @@ $.magnificPopup.registerModule('gallery', {
|
||||||
_document.off(ns);
|
_document.off(ns);
|
||||||
mfp.wrap.off('click'+ns);
|
mfp.wrap.off('click'+ns);
|
||||||
|
|
||||||
if(supportsFastClick) {
|
if(mfp.arrowLeft && supportsFastClick) {
|
||||||
mfp.arrowLeft.add(mfp.arrowRight).destroyMfpFastClick();
|
mfp.arrowLeft.add(mfp.arrowRight).destroyMfpFastClick();
|
||||||
}
|
}
|
||||||
mfp.arrowRight = mfp.arrowLeft = null;
|
mfp.arrowRight = mfp.arrowLeft = null;
|
||||||
|
|
2
assets/js/main.min.js
vendored
2
assets/js/main.min.js
vendored
File diff suppressed because one or more lines are too long
105
assets/js/vendor/jquery.magnific-popup.js
vendored
105
assets/js/vendor/jquery.magnific-popup.js
vendored
|
@ -1,4 +1,4 @@
|
||||||
/*! Magnific Popup - v0.8.5 - 2013-05-15
|
/*! Magnific Popup - v0.8.9 - 2013-06-04
|
||||||
* http://dimsemenov.com/plugins/magnific-popup/
|
* http://dimsemenov.com/plugins/magnific-popup/
|
||||||
* Copyright (c) 2013 Dmitry Semenov; */
|
* Copyright (c) 2013 Dmitry Semenov; */
|
||||||
;(function($) {
|
;(function($) {
|
||||||
|
@ -15,6 +15,7 @@
|
||||||
* Private static constants
|
* Private static constants
|
||||||
*/
|
*/
|
||||||
var CLOSE_EVENT = 'Close',
|
var CLOSE_EVENT = 'Close',
|
||||||
|
AFTER_CLOSE_EVENT = 'AfterClose',
|
||||||
BEFORE_APPEND_EVENT = 'BeforeAppend',
|
BEFORE_APPEND_EVENT = 'BeforeAppend',
|
||||||
MARKUP_PARSE_EVENT = 'MarkupParse',
|
MARKUP_PARSE_EVENT = 'MarkupParse',
|
||||||
OPEN_EVENT = 'Open',
|
OPEN_EVENT = 'Open',
|
||||||
|
@ -141,7 +142,7 @@ MagnificPopup.prototype = {
|
||||||
init: function() {
|
init: function() {
|
||||||
var appVersion = navigator.appVersion;
|
var appVersion = navigator.appVersion;
|
||||||
mfp.isIE7 = appVersion.indexOf("MSIE 7.") !== -1;
|
mfp.isIE7 = appVersion.indexOf("MSIE 7.") !== -1;
|
||||||
mfp.isIE8 = appVersion.indexOf("MSIE 8.") !== -1,
|
mfp.isIE8 = appVersion.indexOf("MSIE 8.") !== -1;
|
||||||
mfp.isLowIE = mfp.isIE7 || mfp.isIE8;
|
mfp.isLowIE = mfp.isIE7 || mfp.isIE8;
|
||||||
mfp.isAndroid = (/android/gi).test(appVersion);
|
mfp.isAndroid = (/android/gi).test(appVersion);
|
||||||
mfp.isIOS = (/iphone|ipad|ipod/gi).test(appVersion);
|
mfp.isIOS = (/iphone|ipad|ipod/gi).test(appVersion);
|
||||||
|
@ -160,23 +161,12 @@ MagnificPopup.prototype = {
|
||||||
*/
|
*/
|
||||||
open: function(data) {
|
open: function(data) {
|
||||||
|
|
||||||
mfp.items = data.items.length ? data.items : [data.items];
|
|
||||||
|
|
||||||
if(mfp.isOpen) {
|
|
||||||
mfp.updateItemHTML();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var i;
|
var i;
|
||||||
|
|
||||||
mfp.types = [];
|
if(data.isObj === false) {
|
||||||
_wrapClasses = '';
|
// convert jQuery collection to array to avoid conflicts later
|
||||||
|
mfp.items = data.items.toArray();
|
||||||
mfp.ev = data.el || _document;
|
|
||||||
|
|
||||||
if(data.isObj) {
|
|
||||||
mfp.index = data.index || 0;
|
|
||||||
} else {
|
|
||||||
mfp.index = 0;
|
mfp.index = 0;
|
||||||
var items = data.items,
|
var items = data.items,
|
||||||
item;
|
item;
|
||||||
|
@ -190,8 +180,20 @@ MagnificPopup.prototype = {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
mfp.items = $.isArray(data.items) ? data.items : [data.items];
|
||||||
|
mfp.index = data.index || 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// if popup is already opened - we just update the content
|
||||||
|
if(mfp.isOpen) {
|
||||||
|
mfp.updateItemHTML();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
mfp.types = [];
|
||||||
|
_wrapClasses = '';
|
||||||
|
mfp.ev = data.mainEl || _document;
|
||||||
|
|
||||||
if(data.key) {
|
if(data.key) {
|
||||||
if(!mfp.popupsCache[data.key]) {
|
if(!mfp.popupsCache[data.key]) {
|
||||||
|
@ -226,7 +228,7 @@ MagnificPopup.prototype = {
|
||||||
|
|
||||||
mfp.container = _getEl('container', mfp.wrap);
|
mfp.container = _getEl('container', mfp.wrap);
|
||||||
}
|
}
|
||||||
|
|
||||||
mfp.contentContainer = _getEl('content');
|
mfp.contentContainer = _getEl('content');
|
||||||
if(mfp.st.preloader) {
|
if(mfp.st.preloader) {
|
||||||
mfp.preloader = _getEl('preloader', mfp.container, mfp.st.tLoading);
|
mfp.preloader = _getEl('preloader', mfp.container, mfp.st.tLoading);
|
||||||
|
@ -307,11 +309,13 @@ MagnificPopup.prototype = {
|
||||||
var bodyStyles = {};
|
var bodyStyles = {};
|
||||||
|
|
||||||
if( mfp.fixedContentPos ) {
|
if( mfp.fixedContentPos ) {
|
||||||
var s = mfp._getScrollbarSize();
|
if(mfp._hasScrollBar(windowHeight)){
|
||||||
if(s) {
|
var s = mfp._getScrollbarSize();
|
||||||
bodyStyles.paddingRight = s;
|
if(s) {
|
||||||
}
|
bodyStyles.paddingRight = s;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if(mfp.fixedContentPos) {
|
if(mfp.fixedContentPos) {
|
||||||
if(!mfp.isIE7) {
|
if(!mfp.isIE7) {
|
||||||
|
@ -412,11 +416,11 @@ MagnificPopup.prototype = {
|
||||||
mfp._removeClassFromMFP(classesToRemove);
|
mfp._removeClassFromMFP(classesToRemove);
|
||||||
|
|
||||||
if(mfp.fixedContentPos) {
|
if(mfp.fixedContentPos) {
|
||||||
var bodyStyles = {paddingRight: 0};
|
var bodyStyles = {paddingRight: ''};
|
||||||
if(mfp.isIE7) {
|
if(mfp.isIE7) {
|
||||||
$('body, html').css('overflow', 'auto');
|
$('body, html').css('overflow', '');
|
||||||
} else {
|
} else {
|
||||||
bodyStyles.overflow = 'visible';
|
bodyStyles.overflow = '';
|
||||||
}
|
}
|
||||||
_body.css(bodyStyles);
|
_body.css(bodyStyles);
|
||||||
}
|
}
|
||||||
|
@ -443,6 +447,8 @@ MagnificPopup.prototype = {
|
||||||
mfp.content = null;
|
mfp.content = null;
|
||||||
mfp.currTemplate = null;
|
mfp.currTemplate = null;
|
||||||
mfp.prevHeight = 0;
|
mfp.prevHeight = 0;
|
||||||
|
|
||||||
|
_mfpTrigger(AFTER_CLOSE_EVENT);
|
||||||
},
|
},
|
||||||
|
|
||||||
updateSize: function(winHeight) {
|
updateSize: function(winHeight) {
|
||||||
|
@ -456,6 +462,10 @@ MagnificPopup.prototype = {
|
||||||
} else {
|
} else {
|
||||||
mfp.wH = winHeight || _window.height();
|
mfp.wH = winHeight || _window.height();
|
||||||
}
|
}
|
||||||
|
// Fixes #84: popup incorrectly positioned with position:relative on body
|
||||||
|
if(!mfp.fixedContentPos) {
|
||||||
|
mfp.wrap.css('height', mfp.wH);
|
||||||
|
}
|
||||||
|
|
||||||
_mfpTrigger('Resize');
|
_mfpTrigger('Resize');
|
||||||
|
|
||||||
|
@ -557,7 +567,6 @@ MagnificPopup.prototype = {
|
||||||
parseEl: function(index) {
|
parseEl: function(index) {
|
||||||
var item = mfp.items[index],
|
var item = mfp.items[index],
|
||||||
type = item.type;
|
type = item.type;
|
||||||
|
|
||||||
|
|
||||||
if(item.tagName) {
|
if(item.tagName) {
|
||||||
item = { el: $(item) };
|
item = { el: $(item) };
|
||||||
|
@ -638,9 +647,16 @@ MagnificPopup.prototype = {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(e.type)
|
if(e.type) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
|
||||||
|
// This will prevent popup from closing if element is inside and popup is already opened
|
||||||
|
if(mfp.isOpen) {
|
||||||
|
e.stopPropagation();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
options.el = $(e.mfpEl);
|
options.el = $(e.mfpEl);
|
||||||
if(options.delegate) {
|
if(options.delegate) {
|
||||||
options.items = el.find(options.delegate);
|
options.items = el.find(options.delegate);
|
||||||
|
@ -698,12 +714,8 @@ MagnificPopup.prototype = {
|
||||||
mfp.wrap.removeClass(cName);
|
mfp.wrap.removeClass(cName);
|
||||||
},
|
},
|
||||||
_hasScrollBar: function(winHeight) {
|
_hasScrollBar: function(winHeight) {
|
||||||
if(document.body.clientHeight > (winHeight || _window.height()) ) {
|
return ( (mfp.isIE7 ? _document.height() : document.body.scrollHeight) > (winHeight || _window.height()) )
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
},
|
},
|
||||||
|
|
||||||
_parseMarkup: function(template, values, item) {
|
_parseMarkup: function(template, values, item) {
|
||||||
var arr;
|
var arr;
|
||||||
if(item.data) {
|
if(item.data) {
|
||||||
|
@ -901,6 +913,7 @@ for(i = 0; i < rounds; i++) {
|
||||||
console.log('Test #2:', performance.now() - start);
|
console.log('Test #2:', performance.now() - start);
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
/*>>core*/
|
/*>>core*/
|
||||||
|
|
||||||
/*>>inline*/
|
/*>>inline*/
|
||||||
|
@ -943,7 +956,8 @@ $.magnificPopup.registerModule(INLINE_NS, {
|
||||||
if(el.length) {
|
if(el.length) {
|
||||||
|
|
||||||
// If target element has parent - we replace it with placeholder and put it back after popup is closed
|
// If target element has parent - we replace it with placeholder and put it back after popup is closed
|
||||||
if(el[0].parentNode !== null) {
|
var parent = el[0].parentNode;
|
||||||
|
if(parent && parent.tagName) {
|
||||||
if(!_inlinePlaceholder) {
|
if(!_inlinePlaceholder) {
|
||||||
_hiddenClass = inlineSt.hiddenClass;
|
_hiddenClass = inlineSt.hiddenClass;
|
||||||
_inlinePlaceholder = _getEl(_hiddenClass);
|
_inlinePlaceholder = _getEl(_hiddenClass);
|
||||||
|
@ -1012,10 +1026,14 @@ $.magnificPopup.registerModule(AJAX_NS, {
|
||||||
var opts = $.extend({
|
var opts = $.extend({
|
||||||
url: item.src,
|
url: item.src,
|
||||||
success: function(data, textStatus, jqXHR) {
|
success: function(data, textStatus, jqXHR) {
|
||||||
|
var temp = {
|
||||||
|
data:data,
|
||||||
|
xhr:jqXHR
|
||||||
|
};
|
||||||
|
|
||||||
_mfpTrigger('ParseAjax', jqXHR);
|
_mfpTrigger('ParseAjax', temp);
|
||||||
|
|
||||||
mfp.appendContent( $(jqXHR.responseText), AJAX_NS );
|
mfp.appendContent( $(temp.data), AJAX_NS );
|
||||||
|
|
||||||
item.finished = true;
|
item.finished = true;
|
||||||
|
|
||||||
|
@ -1029,6 +1047,7 @@ $.magnificPopup.registerModule(AJAX_NS, {
|
||||||
|
|
||||||
mfp.updateStatus('ready');
|
mfp.updateStatus('ready');
|
||||||
|
|
||||||
|
_mfpTrigger('AjaxContentAdded');
|
||||||
},
|
},
|
||||||
error: function() {
|
error: function() {
|
||||||
_removeAjaxCursor();
|
_removeAjaxCursor();
|
||||||
|
@ -1353,7 +1372,9 @@ $.magnificPopup.registerModule(IFRAME_NS, {
|
||||||
//}
|
//}
|
||||||
});
|
});
|
||||||
|
|
||||||
_mfpOn(CLOSE_EVENT + '.' + IFRAME_NS, _fixIframeBugs);
|
_mfpOn(CLOSE_EVENT + '.' + IFRAME_NS, function() {
|
||||||
|
_fixIframeBugs();
|
||||||
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
getIframe: function(item, template) {
|
getIframe: function(item, template) {
|
||||||
|
@ -1439,8 +1460,10 @@ $.magnificPopup.registerModule('gallery', {
|
||||||
|
|
||||||
if(gSt.navigateByImgClick) {
|
if(gSt.navigateByImgClick) {
|
||||||
mfp.wrap.on('click'+ns, '.mfp-img', function() {
|
mfp.wrap.on('click'+ns, '.mfp-img', function() {
|
||||||
mfp.next();
|
if(mfp.items.length > 1) {
|
||||||
return false;
|
mfp.next();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1461,11 +1484,11 @@ $.magnificPopup.registerModule('gallery', {
|
||||||
|
|
||||||
_mfpOn(MARKUP_PARSE_EVENT+ns, function(e, element, values, item) {
|
_mfpOn(MARKUP_PARSE_EVENT+ns, function(e, element, values, item) {
|
||||||
var l = mfp.items.length;
|
var l = mfp.items.length;
|
||||||
values.counter = l ? _replaceCurrTotal(gSt.tCounter, item.index, l) : '';
|
values.counter = l > 1 ? _replaceCurrTotal(gSt.tCounter, item.index, l) : '';
|
||||||
});
|
});
|
||||||
|
|
||||||
_mfpOn('BuildControls' + ns, function() {
|
_mfpOn('BuildControls' + ns, function() {
|
||||||
if(gSt.arrows && !mfp.arrowLeft) {
|
if(mfp.items.length > 1 && gSt.arrows && !mfp.arrowLeft) {
|
||||||
var markup = gSt.arrowMarkup,
|
var markup = gSt.arrowMarkup,
|
||||||
arrowLeft = mfp.arrowLeft = $( markup.replace('%title%', gSt.tPrev).replace('%dir%', 'left') ).addClass(PREVENT_CLOSE_CLASS),
|
arrowLeft = mfp.arrowLeft = $( markup.replace('%title%', gSt.tPrev).replace('%dir%', 'left') ).addClass(PREVENT_CLOSE_CLASS),
|
||||||
arrowRight = mfp.arrowRight = $( markup.replace('%title%', gSt.tNext).replace('%dir%', 'right') ).addClass(PREVENT_CLOSE_CLASS);
|
arrowRight = mfp.arrowRight = $( markup.replace('%title%', gSt.tNext).replace('%dir%', 'right') ).addClass(PREVENT_CLOSE_CLASS);
|
||||||
|
@ -1504,7 +1527,7 @@ $.magnificPopup.registerModule('gallery', {
|
||||||
_document.off(ns);
|
_document.off(ns);
|
||||||
mfp.wrap.off('click'+ns);
|
mfp.wrap.off('click'+ns);
|
||||||
|
|
||||||
if(supportsFastClick) {
|
if(mfp.arrowLeft && supportsFastClick) {
|
||||||
mfp.arrowLeft.add(mfp.arrowRight).destroyMfpFastClick();
|
mfp.arrowLeft.add(mfp.arrowRight).destroyMfpFastClick();
|
||||||
}
|
}
|
||||||
mfp.arrowRight = mfp.arrowLeft = null;
|
mfp.arrowRight = mfp.arrowLeft = null;
|
||||||
|
|
|
@ -56,7 +56,21 @@
|
||||||
.mfp-inline-holder .mfp-content,
|
.mfp-inline-holder .mfp-content,
|
||||||
.mfp-ajax-holder .mfp-content {
|
.mfp-ajax-holder .mfp-content {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
cursor: auto; }
|
cursor: auto;
|
||||||
|
&:after {
|
||||||
|
content: '';
|
||||||
|
display: block;
|
||||||
|
width: auto;
|
||||||
|
height: auto;
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
top: 0;
|
||||||
|
bottom: 0;
|
||||||
|
right: 0;
|
||||||
|
z-index: -1;
|
||||||
|
box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.mfp-ajax-cur {
|
.mfp-ajax-cur {
|
||||||
cursor: progress; }
|
cursor: progress; }
|
||||||
|
@ -221,22 +235,22 @@ button::-moz-focus-inner {
|
||||||
.border-radius(5px, 5px, 0, 0); }
|
.border-radius(5px, 5px, 0, 0); }
|
||||||
.mfp-arrow-left:after,
|
.mfp-arrow-left:after,
|
||||||
.mfp-arrow-left .mfp-a {
|
.mfp-arrow-left .mfp-a {
|
||||||
border-right: 12px solid white;
|
border-right: 12px solid #fff;
|
||||||
left: 5px; }
|
left: 5px; }
|
||||||
.mfp-arrow-left:before,
|
.mfp-arrow-left:before,
|
||||||
.mfp-arrow-left .mfp-b {
|
.mfp-arrow-left .mfp-b {
|
||||||
border-right: 20px solid white; }
|
border-right: 20px solid #fff; }
|
||||||
|
|
||||||
.mfp-arrow-right {
|
.mfp-arrow-right {
|
||||||
right: 0;
|
right: 0;
|
||||||
.border-radius(0, 0, 5px, 5px); }
|
.border-radius(0, 0, 5px, 5px); }
|
||||||
.mfp-arrow-right:after,
|
.mfp-arrow-right:after,
|
||||||
.mfp-arrow-right .mfp-a {
|
.mfp-arrow-right .mfp-a {
|
||||||
border-left: 12px solid white;
|
border-left: 12px solid #fff;
|
||||||
left: 3px; }
|
left: 3px; }
|
||||||
.mfp-arrow-right:before,
|
.mfp-arrow-right:before,
|
||||||
.mfp-arrow-right .mfp-b {
|
.mfp-arrow-right .mfp-b {
|
||||||
border-left: 20px solid white; }
|
border-left: 20px solid #fff; }
|
||||||
|
|
||||||
.mfp-iframe-holder {
|
.mfp-iframe-holder {
|
||||||
padding-top: 40px;
|
padding-top: 40px;
|
||||||
|
@ -255,7 +269,8 @@ button::-moz-focus-inner {
|
||||||
|
|
||||||
.mfp-iframe-scaler iframe {
|
.mfp-iframe-scaler iframe {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: -3px;
|
display: block;
|
||||||
|
top: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
@ -263,7 +278,7 @@ button::-moz-focus-inner {
|
||||||
background: black; }
|
background: black; }
|
||||||
|
|
||||||
.mfp-iframe-holder .mfp-close {
|
.mfp-iframe-holder .mfp-close {
|
||||||
top: -43px; }
|
top: -40px; }
|
||||||
|
|
||||||
/* Main image in popup */
|
/* Main image in popup */
|
||||||
img.mfp-img {
|
img.mfp-img {
|
||||||
|
|
Loading…
Reference in a new issue