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