Scroll
Ինչպես ստեղծել մոդալ պատուհան Colorbox-ով
Մոդալ պատուհանների գլխավոր խնդիրն է scrollTop հատկության տարբեր վարքը iPhone-ում և Android-ում։ Ուստի անհրաժեշտ է համապարփակ հրամանների ցուցակ scrollTop դիրքը գտնելու համար։
function setBodyUnscrollable(value) {
// document.body.scrollTop-ը չի գործում Chrome-ում
// https://stackoverflow.com/questions/28633221/document-body-scrolltop-firefox-returns-0-only-js
// բայց աշխատում է iPhone-ում
if (value) bodyScrollTop = document.body.scrollTop;
document.body.style.overflow = (value) ? 'hidden' : '';
document.body.style.position = (value) ? 'fixed' : '';
document.body.style.left = (value) ? '0' : '';
document.body.style.right = (value) ? '0' : '';
document.body.style.top = (value) ? -bodyScrollTop + 'px' : '';
if (!value) document.body.scrollTop = bodyScrollTop;
}
$(document).on('cbox_open', function(){
var userAgent = navigator.userAgent || navigator.vendor || window.opera;
if (/iPad|iPhone|iPod/.test(userAgent) && !window.MSStream) {
setBodyUnscrollable(true);
}
else {
$('body').css({overflow:'hidden'});
}
}).on('cbox_closed', function(){
var userAgent = navigator.userAgent || navigator.vendor || window.opera;
if (/iPad|iPhone|iPod/.test(userAgent) && !window.MSStream) {
setBodyUnscrollable(false);
}
else {
$('body').css({overflow:'auto'});
}
});
$(document).on('cbox_complete', function() {
$('#cboxContent .return-to-apartments-list a').on('click touchstart', function(e) {
e.stopPropagation();
e.preventDefault();
$.colorbox.close();
});
});