0
asp.netのMaintainScrollPositionOnPostback
機能を使用しているので、ページが同じ位置にあるようにページがポストバックするように見えます。しかし、ページが戻ってきたときは、それは非常に目立つ。ページは一番上に読み込まれ、以前の場所にジャンプします。これを滑らかにして、ページが読み込まれたときに前の位置に読み込む方法はありますか?スクロール位置をスムースに維持する方法
asp.netのMaintainScrollPositionOnPostback
機能を使用しているので、ページが同じ位置にあるようにページがポストバックするように見えます。しかし、ページが戻ってきたときは、それは非常に目立つ。ページは一番上に読み込まれ、以前の場所にジャンプします。これを滑らかにして、ページが読み込まれたときに前の位置に読み込む方法はありますか?スクロール位置をスムースに維持する方法
独自の機能を作成して、前の位置へのスクロールをスムーズにすることができます。通常、Y位置は隠しフィールド__SCROLLPOSITIONY
に格納されます。しかし、MaintainScrollPositionOnPostback
を無効にすると、このフォームフィールドも消えます。
自分のHiddenField
を作成し、その場所に保存します。それからポストバックの後で、その値を読んでそれにスクロールすることができます。
<asp:HiddenField ID="HiddenField1" runat="server" />
<script type="text/javascript">
$(document).ready(function() {
$('html,body').animate({
scrollTop: $("#<%= HiddenField1.ClientID %>").val()
});
});
$(document).mousemove(function (e) {
$("#<%= HiddenField1.ClientID %>").val(e.pageY)
});
</script>
私はこのスニペットをすばやくテストしましたが、調整が必要なことがあります。
ポストバックを完全に削除し、代わりにAJAXを使用してページを実際にアンロードすることはできませんでしたか? – mason