1
我有一個按鈕,它修復了頁面內容的位置,然後在窗體從右側滑入時將其向左推。關閉彈出框後返回頁面到原始的scrollTop位置
這工作正常,除了一件事。當用戶稍微向下滾動頁面並點擊按鈕時,它成功修復了位置。但是,當他們關閉此表單時,頁面不會返回到原始位置......它會將用戶帶回頁面的頂部。我已經發布了下面的jquery,可能有助於更好地解釋問題。
還有這裏的jsfiddle例子...
var pageContents;
var currentscrollpos;
$(document).ready(function() {
$("a#testbutton").live('click', function() {
var currentscrollpos = $(window).scrollTop();
var pageContents = $("body").html();
$("body").html("");
$("<div class='pageContainer'>" + pageContents + "</div>").prependTo("body");
$(".pageContainer").css({'position':'fixed','top':currentscrollpos*-1});
$("html, body").animate({ scrollTop: 0 }, 0);
$("<div class='blackout'></div>").appendTo("body");
$(".blackout").css("opacity",0.8).fadeIn('slow', function() {
$("<div class='popupPanel'><a class='closeme'>close</a></div>").appendTo("body");
$(".popupPanel").animate({
right: "0px"
}, 500, function() {
$(".popupPanel").css("position","absolute")
});
$(".pageContainer").animate({
left: "-200px"
}, 500, function() {
});
$("a#testbutton").append(currentscrollpos)
});
return false;
});
$('.closeme').live('click', function() {
var pageContents = $(".pageContainer").html();
$(".popupPanel").css("position","fixed").animate({
right: "-200px"
}, 500, function() {
});
$(".pageContainer").animate({
left: "0px"
}, 500, function() {
$(".blackout").fadeOut('slow', function() {
$(".blackout").remove();
$("body").html(pageContents);
$("html, body").animate({ scrollTop: currentscrollpos }, 0);
});
});
});
});
完美謝謝... – Tom
如果$(窗口)不起作用,您可以嘗試使用$(document.body)或$(「body」) – raphie