Попап открывается таким образом (извиняюсь, таков скрипт):
function loadContents() {
var url = $('.posts-navigation.hide .next').attr('href');
if (url) {
main_loader.fadeIn(250);
$.ajax({
type: "GET",
url: url,
dataType: "html",
success: function (loaded) {
var result = $(loaded).find('.boxcontainer .pinbox');
var nextlink = $(loaded).find('.posts-navigation .next').attr('href');
$(loaded).imagesLoaded(function() {
$container.append(result).masonry('appended', result);
$('.popup-post-modal-open').bind('click', DimaPopup);
if (ismobile != 1) {
$('.tooltip').aToolTip();
if ($('video').length || $('audio').length) {
$('video, audio').mediaelementplayer();
}
}
});
main_loader.fadeOut(100);
if (nextlink != 'undefined') {
$('.posts-navigation .next').attr('href', nextlink);
} else {
$('.posts-navigation').remove();
}
loading = false;
}
});
}
}
/* IE debugging */
if (navigator.userAgent.match(/msie|trident/i)) {
$('.pinbox iframe').on('hover', function(){
$(this).parents('.pinbox').toggleClass('hover');
});
}
$('.popup-post-modal-open').bind('click', DimaPopup);
$('.popup-background').bind('click', Popupclose);
});
var $ = jQuery;
function DimaPopup(e){
e.preventDefault();
$('.popap-loader').css('display', 'block');
if (e.target.className.indexOf("gapplayer-wrapper")>=0||e.target.className.indexOf("fvp-dynamic")>=0){
e.stopPropagation();
return false;
}
var url = $(this).attr('href');
// А вот так просто меняется ссылка
if(url != window.location){
window.history.pushState(null, null, url);
}
$('.popup-post').addClass('active');
window.setTimeout(function(){$('.popup-post').scrollTop(0);},50);
$('body').addClass('active');
$('html').css('overflow-x', 'initial');
window.offScroll = false;
$('.popup-post').off('scroll').on('scroll',function(){
if ((this.scrollTop + $(this).height() + 50)>this.scrollHeight&&!window.offScroll){
window.offScroll = true;
}})
$.ajax(
{
type : 'POST',
url : 'http://' + location.host + '/wp-admin/admin-ajax.php',
data: { action: 'popup_post', popup_post_id:$(this).parents('.title').children('.post-click-popup').children('span').text()
},
success: function(data){
$('.post-generat-content').eq(0).html(data);
$('.popap-loader').css('display', 'none');
$('.popup-background').css('display', 'block');
window.setTimeout(function(){
if (gapStart) gapStart();},1000);
var elem = $('.popup-post');
$('html, body').animate({ scrollTop: elem.offset().top }, 750);
var tempScrollTop = 50, currentScrollTop = 0;
var top1;
$('.popup-post.active').scroll(function(){
currentScrollTop = $(this).scrollTop();
if (tempScrollTop < currentScrollTop ){ //Скролим вниз
$('.vverh').attr('style', 'display:block;');
$('.vniz').attr('style', 'display:none;');
tempScrollTop = currentScrollTop;
top1 = currentScrollTop;
} else if (tempScrollTop > currentScrollTop ) { //Скролим вверх
$('.vverh').attr('style', 'display:none;');
$('.vniz').attr('style', 'display:block;');
tempScrollTop = currentScrollTop;
}
});
$('.vniz').click(function(){
$('.popup-post.active').animate({ scrollTop: top1 }, '50');
});
$('.vverh').click(function(){
$('.popup-post.active').animate({ scrollTop: $('.post-generat-content').offset().top }, '50');
});
$('.close').bind('click', Popupclose);
//window.setTimeout(function(){$('.popup-post').scroll();},1000);
},
error: function(error)
{
console.log('Ошибка');
}
});
};
var window_location = window.location.href;
function Popupclose() {
$('.popup-background').css('display', 'none');
$('.popup-post').removeClass('active');
window.history.pushState(null, null, window_location);
$('body').removeClass('active');
$('html').css('overflow-x', 'hidden');
}
Надо, при открытом попап, страницу под попап делать размытой
В скриптах я не шарю, но может последние строки здесь помогут:
function Popupclose() {
$('.popup-background').css('display', 'none');
$('.popup-post').removeClass('active');
window.history.pushState(null, null, window_location);
$('body').removeClass('active');
$('html').css('overflow-x', 'hidden');
}
Спасибо за внимание )