zoukankan      html  css  js  c++  java
  • vue翻页(示例)

    1、html代码

                          <div class="page_number" id="app">
                                            <ul>
                                                <li class="grey_border last_page">
                                                    <a href="javascript::" :class="{disabled:pstart}" @click="upPage()"> 
                                                        上一页
                                                    </a>
                                                </li>
                                                <li v-show="efont">
                                                    <a href="javascript::"> 
                                                        ...
                                                    </a>
                                                </li>
                                                <li v-for="num in indexs" :class="{page_num_point:current_page==num}" >
                                                    <a  href="javascript::" @click="numbersPage(num)"> 
                                                        <span>{{num}}</span>
                                                    </a>
                                                </li>
                                                <li v-show="ebehind">
                                                    <a href="javascript::"> 
                                                        ...
                                                    </a>
                                                </li>
                                                <li class="last_page" :class="{disabled:pend}" @click="nextPage()">
                                                    <a href="javascript::" >下一页 
                                                    </a>
                                                </li>
                                            </ul>
                                        </div>

    2、javascript脚本代码

    function vuePages(totalPages, pageNumbers) {
        var newlist = new Vue({
            el: '#app',
            data: {
                current_page: pageNumbers, //当前页
                pages: totalPages, //总页数
                changePage: '', //跳转页
                nowIndex: 0
            },
            computed: {
                show: function() {
                    return this.pages && this.pages != 1
                }, pstart: function() {
                    return this.current_page == 1;
                },
                pend: function() {
                    return this.current_page == this.pages;
                },
                efont: function() {
                    if (this.pages <= 7)
                        return false;
                    return this.current_page > 5
                },
                ebehind: function() {
                    if (this.pages <= 7)
                        return false;
                    var nowAy = this.indexs;
                    return nowAy[nowAy.length - 1] != this.pages;
                }, indexs: function() {
                    var left = 1,
                            right = this.pages,
                            ar = [];
                    if (this.pages >= 7) {
                        if (this.current_page > 5 && this.current_page < this.pages - 4) {
                            left = Number(this.current_page) - 3;
                            right = Number(this.current_page) + 3;
                        } else {
                            if (this.current_page <= 5) {
                                left = 1;
                                right = 7;
                            } else {
                                right = this.pages;
    
                                left = this.pages - 6;
                            }
                        }
                    }
                    while (left <= right) {
                        ar.push(left);
                        left++;
                    }
                    return ar;
                },
            },
            methods: {
                jumpPage: function(id) {
                    this.current_page = id;
                },
                nextPage: function(obj) {
                    var pageIndex = getQueryStringL("pageIndex");
                    var type = getQueryStringL("type");
                    var keywords = getQueryStringL("keywords");
                    var searchTime = getQueryStringL("searchTime");
                    var province = getQueryStringL("province");
                    pageIndex = parseInt(pageIndex) + 1;
                    if (pageNumbers < totalPages) {
                        var url = "/information/listPage?type=" + type + "&pageIndex=" + pageIndex + "&pageSize=" + pageSize + "&keywords=" + keywords + "&searchTime=" + searchTime + "&province=" + province;
                        window.location.href = url;
                    }
                }, upPage: function() {
                    var pageIndex = getQueryStringL("pageIndex");
                    var type = getQueryStringL("type");
                    var keywords = getQueryStringL("keywords");
                    var searchTime = getQueryStringL("searchTime");
                    var province = getQueryStringL("province");
                    pageIndex = parseInt(pageIndex) - 1;
                    if (pageIndex > 0) {
                        var url = "/information/listPage?type=" + type + "&pageIndex=" + pageIndex + "&pageSize=" + pageSize + "&keywords=" + keywords + "&searchTime=" + searchTime + "&province=" + province;
                        window.location.href = url;
                    }
                },
                numbersPage: function(id) {
                    var type = getQueryStringL("type");
                    var keywords = getQueryStringL("keywords");
                    var searchTime = getQueryStringL("searchTime");
                    var province = getQueryStringL("province");
                    var url = "/information/listPage?type=" + type + "&pageIndex=" + id + "&pageSize=" + pageSize + "&keywords=" + keywords + "&searchTime=" + searchTime + "&province=" + province;
                    window.location.href = url;
                },
                numbersPageLast: function() {
                    var type = getQueryStringL("type");
                    var keywords = getQueryStringL("keywords");
                    var searchTime = getQueryStringL("searchTime");
                    var province = getQueryStringL("province");
                    var url = "/information/listPage?type=" + type + "&pageIndex=" + pageNumbers + "&pageSize=" + pageSize + "&keywords=" + keywords + "&searchTime=" + searchTime + "&province=" + province;
                    window.location.href = url;
    
                },
            },
        })
        $("#app").show();
    }
    //获取地址栏参数的方法
    function getQueryStringL(name) {
        var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
        var r = window.location.search.substr(1).match(reg);
        if (r != null) {
    //        return unescape(r[2]);
            return decodeURI(r[2]);
        }
        return "";
    }

    3、效果展示

    注意:class需要另外加,还需要引入vue脚本文件,请求路径及参数都需要修改

  • 相关阅读:
    398. Random Pick Index
    382. Linked List Random Node
    645. Set Mismatch
    174. Dungeon Game
    264. Ugly Number II
    115. Distinct Subsequences
    372. Super Pow
    LeetCode 242 有效的字母异位词
    LeetCode 78 子集
    LeetCode 404 左叶子之和
  • 原文地址:https://www.cnblogs.com/lk617-home/p/9713587.html
Copyright © 2011-2022 走看看