scrollTop 関数を使用して、ユーザーが画面の下部からどれだけ近づいているかを検出して、コンテンツを追加しています。私のjavascript関数は次のようなものです:
if ($(window).scrollTop() >= $(document).height() - $(window).height() - 75) {
var url = '<%=Url.Action("MoreView", "Status", new { id = ViewData["Id"],
page = Convert.ToInt32(ViewData["PageNumber"])+1 })%>';
NextPage(url); //this does an ajax call to the action method on the server
}
すべてが正常に機能しています。問題は、window.ScrollTop > 75 が 2 倍または 3 倍速く発生し、同じコンテンツを 2 倍または 3 倍ロードすることです。サーバー側でセッション変数を使用することでおそらくこれを修正できますが、IMOが醜くなる可能性があるため、そのルートに行きたくありませんでした。助言がありますか?