zoukankan      html  css  js  c++  java
  • 关于ajax实现div的Lazyload

    Java Web SpringMVC AJAX,实现页面懒加载数据

     

    因为做的微信端的网页,所以在显示后台数据的时候,要么分页,要么全部加载数据,开始分页对于用户来说,其实体验不是很好,毕竟要去不断的点击下一页,但是如果我把全部数据读取出来的话,但用户可能也就看前面几条而已,那么就会造成性能的大大浪费。

    所以我就上网找了ajax懒加载方面的内容,成功实现了,在用户滚动的时候判断是否到达页面底部,是的话就通过ajax请求数据,然后显示出来。

    javascript代码

    <script type="text/javascript">
    $(function() {
        // 记录页数
        var $page = 1;
        // 懒加载
        var winH = $(window).height(); //页面可视区域高度
        $(window).scroll(function () { 
            var pageH = $(document.body).height(); 
            var scrollT = $(window).scrollTop(); //滚动条top 
            var aa = (pageH-winH-scrollT)/winH;
            if(aa<0.02){
                $page++;
                $.ajax({
                    type : "get",
                    url : "<c:url value='/getdata/" + $page + "' />",
                    dataType : "json",
                    success : function(data) {
                        if (data) {
                            $.each(data,function(index,array){ 
                                $comment += "<li><div id="index_list_user">"; 
                                $comment += "       <div id="index_list_user_wx">"; 
                                $comment += "       <img src="" + array['avatar']  + "" >"; 
                                $comment += "       <span>" + array['author'] + "</span>"; 
                                $comment += "       </div>"; 
                                $comment += "       <span id="index_list_user_bookName">《" + array['book']['title'] + "》</span>"; 
                                $comment += "   </div>"; 
                                $comment += "   <div id="index_list_content">"; 
                                $comment += "   <span>" + array['content'] + "</span>";
                               $comment += "    </div>";
                               $comment += "    </li>";
                               $(".index_list").append($comment); // 把上面的html添加到要显示的标签上
                              }); 
                        }
                    }
                });
            } 
          }); 
    });
    </script>

    java代码

    @RequestMapping(value = "/getdata/{page}", method = GET)
    @ResponseBody
    public List<Comment> indexPage(
            @PathVariable int page) {
                page--;
            page = page < 0 ? 0 : page;
            List<Comment> bookComments = rmbookCommentService.getToIndexByLimit(
                    page*ReadMeetInitParameters.getCountPerPage(), ReadMeetInitParameters.getCountPerPage());
    
            return bookComments;
    }

    在Java代码上转换JSON的时候可能会有问题,我参考的解决方案:http://blog.csdn.net/kinginblue/article/details/51236938

    参考地址:http://www.jb51.net/article/65073.htm

     
  • 相关阅读:
    visual studio 注释
    EF Core导航属性
    【转】前端UI框架小汇总
    C#三种定时器的实现
    【转】自学MVC看这里——全网最全ASP.NET MVC 教程汇总
    【转】C#进阶系列——WebApi 接口参数不再困惑:传参详解
    【转】c# WebApi之解决跨域问题:Cors
    优秀.NET开源项目
    Linux简介及最常用命令
    C#中使用Socket实现简单Web服务器
  • 原文地址:https://www.cnblogs.com/mei123/p/8528935.html
Copyright © 2011-2022 走看看