• 基于分页基础上的瀑布流


    1、页面(jsp)

     1 <script type="text/javascript">
     2     var beginShow=1,//初始化显示的条数,以后作为当前第一页
     3     perNum = 10,//每次滚动时加载的数量
     4     pCount = 1;//定义一个总页数,在ajax返回的时候会修改它
     5     //设置是否继续滚动加载的标志位(0:可以加载 1:不再加载)
     6     var IS_OVER=0;
     7     //刚进页面第一次加载
     8     $(function(){
     9          list(beginShow,perNum);
    10      });
    11      //当滚动到屏幕底部时
    12      $(window).scroll(function () {
    13         if ($(window).scrollTop() == $(document).height() - $(window).height()) {
    14             //判断当前情况,如果滚动标志位为0时,表示可加载
    15             if(IS_OVER==0){
    16                 //当前页码数+1
    17                 beginShow++;
    18                 //加载新的页码数
    19                 list(beginShow,perNum);
    20             }
    21         }
    22     }); 
    23      
    24      //aJax获取分页数据
    25      function list(currentPage,showCount){
    26          var year='${pd.year}';
    27          var month='${pd.month}';
    28          var cityId='${pd.COURSE_CITY_ID}';
    29          var COURSE_CATEGORY_ID='${pd.COURSE_CATEGORY_ID}';
    30          $.ajax({
    31              type:'POST',
    32              url:'course/toCourseList',
    33              data:{currentPage:currentPage,showCount:showCount,SECTION_ID:'${pd.SECTION_ID}',
    34                   STATUS:'${pd.STATUS}',TYPE:'${pd.TYPE}',year:year,month:month,
    35                   COURSE_CITY_ID:cityId,COURSE_CATEGORY_ID:COURSE_CATEGORY_ID},
    36              dataType:'json',
    37              cache:false,
    38              success:function(data){
    39                  pCount=data.page.totalPage;
    40                  var Mylist=data.list;
    41                  //如果现在处在第一页,且获取到的课程数量为空时,给用户显示的内容
    42                  if(currentPage==1&&Mylist.length==0){
    43                      $(".mainbody").html('<div><div class="box">这里暂无课程</div></div>');
    44                      IS_OVER=1;
    45                      //隐藏等待图标
    46                      $("#waiting").hide();
    47                  }else{
    48                      //如果现在的页数大于等于最大页码数,不再翻页
    49                       if(currentPage>=pCount){
    50                           //定义加载标志位,让其不能再加载
    51                           IS_OVER=1;
    52                           $("#waiting").hide();
    53                       }
    54                      
    55                       var listHtml='';
    56                       for(var item in Mylist){
    57                           var vala=Mylist;
    58                           listHtml+='';
    59                           listHtml+='';
    60                           ......
    61                       }
    62                       $(".mainbody").append(listHtml);
    63                  }
    64              },
    65              error:function(e){
    66                  swal("网络出错了");
    67              }
    68          });
    69      }
    70      71 </script>

     2、controller

     1 /**
     2      * AJax获取课程列表
     3      * @param page
     4      * @param currentPage
     5      * @param showCount
     6      * @return
     7      */
     8     @RequestMapping(value="toCourseList")
     9     @ResponseBody
    10     public Object toCourseList(Page page,
    11             @RequestParam(value="currentPage",required=false) int currentPage,
    12             @RequestParam(value="showCount",required=false) int showCount){
    13         logBefore(logger, "Ajax获取课程列表");
    14         PageData pd=new PageData();
    15         Map<String, Object> result=new HashMap<String,Object>();
    16         try {
    17             pd=this.getPageData();
    18             page.setPd(pd);
    19             page.setCurrentPage(currentPage);
    20             page.setShowCount(showCount);
    21             List<PageData> list = courseService.list(page);
    22             result.put("list", list);
    23             result.put("page", page);
    24             result.put("pd", pd);
    25         } catch (Exception e) {
    26             logger.error(e.toString(), e);
    27         }
    28         return result;
    29     }
  • 相关阅读:
    java继承
    c#中委托和事件区别
    c#委托中的匿名方法和lambda表达式
    c#中内置委托
    iOS消息推送获取不到deviceToken解决方案
    python+appium+iOS自动化测试case如何写?
    Xcode查看iOS崩溃与崩溃日志分析
    iOS性能检测工具instrunments简单介绍
    python实现使用代码进行代理配置
    python+locust性能测试-最简单的登录点击次数
  • 原文地址:https://www.cnblogs.com/xyt-0412/p/4730508.html
Copyright © 2020-2023  润新知