自动分页

基于jquery完成的自动分页,和跳转对应页面功能
<!DOCTYPE>
<head>
<title>demo</title>
<meta charset="utf-8">
<style type="text/css">
</style>
<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
</head>
<body>
    <h3>there are 100 li-elements</h3>
    <ul id="list">
        <li>1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
        <li>5</li>
        <li>6</li>
        <li>7</li>
        <li>8</li>
        <li>9</li>
        <li>10</li>
        <li>11</li>
        <li>12</li>
        <li>13</li>
        <li>14</li>
        <li>15</li>
        <li>16</li>
        <li>17</li>
        <li>18</li>
        <li>19</li>
        <li>20</li>
        <li>21</li>
        <li>22</li>
        <li>23</li>
        <li>24</li>
        <li>25</li>
        <li>26</li>
        <li>27</li>
        <li>28</li>
        <li>29</li>
        <li>30</li>
        <li>31</li>
        <li>32</li>
        <li>33</li>
        <li>34</li>
        <li>35</li>
        <li>36</li>
        <li>37</li>
        <li>38</li>
        <li>39</li>
        <li>40</li>
        <li>41</li>
        <li>42</li>
        <li>43</li>
        <li>44</li>
        <li>45</li>
        <li>46</li>
        <li>47</li>
        <li>48</li>
        <li>49</li>
        <li>50</li>
        <li>51</li>
        <li>52</li>
        <li>53</li>
        <li>54</li>
        <li>55</li>
        <li>56</li>
        <li>57</li>
        <li>58</li>
        <li>59</li>
        <li>60</li>
        <li>61</li>
        <li>62</li>
        <li>63</li>
        <li>64</li>
        <li>65</li>
        <li>66</li>
        <li>67</li>
        <li>68</li>
        <li>69</li>
        <li>70</li>
        <li>71</li>
        <li>72</li>
        <li>73</li>
        <li>74</li>
        <li>75</li>
        <li>76</li>
        <li>77</li>
        <li>78</li>
        <li>79</li>
        <li>80</li>
        <li>81</li>
        <li>82</li>
        <li>83</li>
        <li>84</li>
        <li>85</li>
        <li>86</li>
        <li>87</li>
        <li>88</li>
        <li>89</li>
        <li>90</li>
        <li>91</li>
        <li>92</li>
        <li>93</li>
        <li>94</li>
        <li>95</li>
        <li>96</li>
        <li>97</li>
        <li>98</li>
        <li>99</li>
        <li>100</li>
    </ul>
    <div id="nav"></div>
<script type="text/javascript">
    $(document).ready(function(){
        var totalNum = $('#list>li').length;
        var perPageNum = 10;
        var pageNum = Math.ceil(totalNum / perPageNum);

        createNavigation();
        setDataAndEvents();
        function createNavigation(){
            var navHtml = '<strong id="prev">pre</strong>';
            navHtml += '<span>';
            navHtml += '<select id="goto">';
            navHtml += '<option value="">go to page</option>';
            for(var i = 0; i < pageNum; i++){
                navHtml += '<option value="' + (i+1) +'">' + (i+1) +'</option>';
            }
            navHtml += '</select>';
            navHtml += '</span>';
            navHtml += '<strong id="next">Next</strong>';
            $('#nav').html(navHtml);
            $('#prev').hide();
            $('#next').show();
        }
        function setDataAndEvents(){
            $('#list').data('currentPage', 1);
            $('#list>li:gt(' + (perPageNum -1) + ')').hide();
            $('#prev').click(function(){
                var current = $('#list').data('currentPage');
                gotoPage(--current);
            });
            $('#next').click(function(){
                var current = $('#list').data('currentPage');
                gotoPage(++current);
            });
            $('#goto').change(function(){
                if($.trim($(this).val()) == '') return;
                gotoPage($(this).val());
            });
        }
        function gotoPage(number){
            $('#list').data('currentPage',number);
            (number == 1) ? $('#prev').hide() : $('#prev').show();
            (number == pageNum) ? $('#next').hide() : $('#next').show();
            $('#goto').val(number);
            var from = (number - 1) * perPageNum;
            var to = from + perPageNum - 1;
            $('#list>li').show();
            $('#list>li:lt(' + (from) + ')').hide();
            $('#list>li:gt(' + (to) + ')').hide();
        }
    })
</script>
</body>
</html>


posted on 2013-09-10 20:20  新一  阅读(230)  评论(0编辑  收藏  举报

导航