2016-08-17 11 views
2

私は単純なモーダルポップアップウィンドウを持っています。閉じたときにページの先頭に戻ります。私は同じスクロール位置にとどまることを望みます。これは可能ですか、私はJavascriptで大きくはありません。ここでモーダルウィンドウを閉じる - ページの先頭に戻る

ページです。ここでhttp://pagedev.co.uk/hoppings/product/2-4m-beads

は私のjavascriptです:

$(function(){ 

var appendthis = ("<div class='modal-overlay js-modal-close'></div>"); 

    $('a[data-modal-id]').click(function(e) { 
    e.preventDefault(); 
    $("body").append(appendthis); 
    $(".modal-overlay").fadeTo(1000, 1); 
    //$(".js-modalbox").fadeIn(500); 
    var modalBox = $(this).attr('data-modal-id'); 
    $('#'+modalBox).fadeIn($(this).data()); 
    }); 


$(".js-modal-close, .modal-overlay").click(function() { 
    $(".modal-box, .modal-overlay").fadeOut(500, function() { 
    $(".modal-overlay").remove(); 
    }); 
}); 

$(window).resize(function() { 
    $(".modal-box").css({ 
    top: ($(window).height() - $(".modal-box").outerHeight())/2, 
    left: ($(window).width() - $(".modal-box").outerWidth())/2 
    }); 
}); 

$(window).resize(); 

}); 

答えて

2

あなたが開いてリンクを持っているように近いリンクのデフォルトの動作を阻止する必要があります。

$(".js-modal-close, .modal-overlay").click(function(e) { 
    e.preventDefault(); 
    $(".modal-box, .modal-overlay").fadeOut(500, function() { 
    $(".modal-overlay").remove(); 
    }); 
}); 
0

これはあなたが使用しているために起こっていますhref='#'

<a class="js-open-modal" href="#" data-modal-id="12" onclick="ga('send', 'event', 'PDF Download', 'Link Click', 'Q-Line 2.4m D Mould');"><div class="product-hover"></div></a> 

あなたはJavaScriptでそれを防ぐことができます

$(".js-modal-close, .modal-overlay").click(function(e) { 
    e.preventDefault(); 
    $(".modal-box, .modal-overlay").fadeOut(500, function() { 
     $(".modal-overlay").remove(); 
    }); 
} 
関連する問題