开发者社区> 问答> 正文

html5实现上下滑动翻页功能

小旋风柴进 2016-06-07 09:42:25 4494

table的数据量多的时候,怎么控制向下滑动即翻页,数据最下点击按钮跳到第一条数据

移动开发 HTML5
分享到
取消 提交回答
全部回答(1)
  • 小旋风柴进
    2019-07-17 19:29:27

    一.无限滚动概念
    首先,它是基于jQuery的,另外还要明白无限滚动的概念:无限滚动的实现原理就是当你在网页上的滚动条滚动到离网页底部一定长度的时候,触发某ajax函数(infinite-scroll内已经封装好),往后台加载文件或者数据,又或者从外部引入静态html形式文件。
    二.探讨infinite-scroll
    1.从网页头引入两个js文件,注意必须先放jquery的

    [javascript] view plain copy 在CODE上查看代码片派生到我的代码片
    <script src="css/infinite-scroll/jquery-1.6.4.js"></script>  
    <script src="css/infinite-scroll/jquery.infinitescroll.js"></script>  

    2.之后在网页头自己写一个js脚本

    [javascript] view plain copy 在CODE上查看代码片派生到我的代码片
    <script>  
    $(document).ready(function (){  
      $("#container").infinitescroll({  
            navSelector: "#navigation",      //页面分页元素--本页的导航,意思就是一个可以触发ajax函数的模块  
            nextSelector: "#navigation a",  //下一页的导航  
            itemSelector: ".scroll " ,             //此处我用了类选择器,选择的是你要加载的那一个块(每次载入的数据放的地方)        
            animate: true,                          //加载时候时候需要动画,默认是false  
            maxPage: 3,                            //最大的页数,也就是滚动多少次停。这个页码必须得要你从数据库里面拿         
        });  
    });   
       </script>

    3.或许你看到这里还是不太清楚网页怎么定义,这里给出我的demo,希望可以有帮助

    [html] view plain copy 在CODE上查看代码片派生到我的代码片
    <%@ page language="java" contentType="text/html; charset=utf-8"  
        pageEncoding="utf-8"%>  
    <!DOCTYPE html>  
    <html>  
    <head>  
    <meta charset="utf-8">  
    <title>无限翻页效果</title>  
    <script src="css/infinite-scroll/jquery-1.6.4.js"></script>  
    <script src="css/infinite-scroll/jquery.infinitescroll.js"></script>  
    <script src="css/infinite-scroll/test/debug.js"></script>  
     <script>  
     $(document).ready(function (){               //别忘了加这句,除非你没学Jquery  
          $("#container").infinitescroll({  
                navSelector: "#navigation",     //页面分页元素--成功后自动隐藏  
                nextSelector: "#navigation a",  
                itemSelector: ".scroll " ,             
                animate: true,  
                maxPage: 3,                                                  
            });  
     });   
        </script>  
    </head>  
    <body>  
        <div id="container">            <!-- 容器 -->  
            <div class="scroll">         <!-- 每次要加载数据的数据块-->  
            第一页内容第一页内容<br>  
            第一页内容<br>第一页内容<br>第一页内容<br>  
            第一页内容<br>第一页内容<br>第一页内容<br>  
            第一页内容<br>第一页内容<br>第一页内容  
            </div>  
        </div>  
            <div id="navigation" align="center">         <!-- 页面导航-->  
            <a href="user/list?page=1"></a>        <!-- 此处可以是url,可以是action,要注意不是每种html都可以加,是跟当前网页有相同布局的才可以。另外一个重要的地方是page参数,这个一定要加在这里,它的作用是指出当前页面页码,没加载一次数据,page自动+1,我们可以从服务器用request拿到他然后进行后面的分页处理。-->  
        </div>  
    </body>  
    </html>  

    三.细微部分
    1.js函数里还可定义的其他属性:

    [javascript] view plain copy 在CODE上查看代码片派生到我的代码片
    
    debug        : true,                                         //用于调试,如果需要用到,只需在网页头引入官网demo里的debug.js文件                  
    loadingImg   : "/img/loading.gif",                   //加载时候显示的进度条,用户可以自定义       
    loadingText  : "Loading new posts...",            //加载时显示的文字     
    extraScrollPx: 50,                                            //离网页底部多少像素时触发ajax  
    donetext     : "I think we've hit the end, Jim" ,     //加载完数据(到达底部时)显示的文字提醒  
    errorCallback: function(){},                             //加载完数据后的回调函数,可选      

    其他属性暂不作过多介绍

    2.数据的载入方式
    ①html :如果你已经有固定的数据块,可以放到html里面加载静态页面。
    ②json :可以用后台返回json的方式,返回的时候要指定temple里面的html模版,否则会出错。
    ③我上面例子用的其实也是json,前台在Action层把数据取出后再用StringBuilder拼装成html格式的字符串返回前台。(个人习惯)
    3.数据分页方式
    本例用hibernate进行数据分页。

    0 0

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题
推荐课程