全局变量不会更改它们的值。具体pageNumber保持1,它应该在一个函数中增加。我尝试实施continious滚动,并获得代码下一块,使用后查询到我的asp.net mvc的控制作用,但它当然它总是让我同样的结果为什么全局变量没有改变?
<script type="text/javascript">
\t pageNumber = 1; //Infinite Scroll starts from second block
\t noMoreData = false;
\t inProgress = false;
\t function ScrollFunction(pageNumber, noMoreData, inProgress) {
\t \t var documentHeight = $(document).height();
\t \t var windowHeight = $(window).height();
\t \t var windowScrollTop = $(window).scrollTop();
\t \t var documentMinusWindowHeight = documentHeight - windowHeight;
\t \t //-1 because when scroll reaches the bottom of the document windowScrollTop - documentHeightMinusWindowHeight equals from zero to 1
\t \t if ((windowScrollTop > documentMinusWindowHeight - 1) && !noMoreData && !inProgress) {
\t \t \t inProgress = true;
\t \t \t $("#loadingDiv").show();
\t \t \t $.post("@Url.Action("InfiniteScroll", "Products")", { "productId": '@Model.ProductViewModel.Id', "pageNumber": pageNumber },
\t \t function (data) {
\t \t \t pageNumber++;
\t \t \t noMoreData = data.NoMoreData;
\t \t \t $("#ProductDealsPartialDiv").append(data.HtmlString);
\t \t \t $("#loadingDiv").hide();
\t \t \t inProgress = false;
\t \t });
\t }
\t }
\t $(document).ready(function() {
\t \t //var pageNumber = 1;
\t \t //var noMoreData = false;
\t \t //var inProgress = false;
\t \t ScrollFunction(pageNumber, noMoreData, inProgress);
\t \t $(window).scroll(function() {
\t \t \t ScrollFunction(pageNumber, noMoreData, inProgress);
\t \t });
\t });
</script>
但是这段代码片段绝对正确。
<script type="text/javascript">
\t $(document).ready(function() {
\t \t var pageNumber = 1; //Infinite Scroll starts from second block
\t \t var noMoreData = false;
\t \t var inProgress = false;
\t \t $(window).scroll(function() {
\t \t \t var documentHeight = $(document).height();
\t \t \t var windowHeight = $(window).height();
\t \t \t var windowScrollTop = $(window).scrollTop();
\t \t \t var documentMinusWindowHeight = documentHeight - windowHeight;
\t \t \t //-1 because when scroll reaches the bottom of the document windowScrollTop - documentHeightMinusWindowHeight equals from zero to 1
\t \t \t if ((windowScrollTop > documentMinusWindowHeight - 1) && !noMoreData && !inProgress) {
\t \t \t \t inProgress = true;
\t \t \t \t $("#loadingDiv").show();
\t \t \t \t $.post("@Url.Action("InfiniteScroll", "Products")", { "productId": '@Model.ProductViewModel.Id', "pageNumber": pageNumber },
\t \t \t \t \t function (data) {
\t \t \t \t \t \t pageNumber++;
\t \t \t \t \t \t noMoreData = data.NoMoreData;
\t \t \t \t \t \t $("#ProductDealsPartialDiv").append(data.HtmlString);
\t \t \t \t \t \t $("#loadingDiv").hide();
\t \t \t \t \t \t inProgress = false;
\t \t \t \t \t });
\t \t \t }
\t \t });
\t });
</script>
你能提供[mcve]吗? –