123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- $(function () {
- var SEOPagination = {
- data: {
- pageNum: 1, // 当前页码
- pageTotal: 1, // 总共多少页面
- },
- el: '.seo-pagination',
- $el: '',
- init: function () {
- this.initVars()
- this.addJumpDOM()
- this.initData()
- this.initEvents()
- },
- initVars: function () {
- this.$el = $(this.el)
- },
- initData: function () {
- var pager = this.$el.find('.el-pager')
- this.data.pageNum = pager.attr('data-page-num') - 0
- this.data.pageTotal = pager.attr('data-page-total') - 0
- },
- initEvents: function () {
- // quicknext事件
- $('.seo-pagination .prev-more, .seo-pagination .next-more').on('mouseover', function () {
- var $this = $(this)
- if ($this.hasClass('prev-more')) {
- $this.find('.el-icon').removeClass().addClass('el-icon el-icon-d-arrow-left')
- } else {
- $this.find('.el-icon').removeClass().addClass('el-icon el-icon-d-arrow-right')
- }
- }).on('mouseleave', function () {
- var $this = $(this)
- $this.find('.el-icon').removeClass().addClass('el-icon el-icon-more')
- })
- this.jumpDOMEvents()
- },
- addJumpDOM: function () {
- var jumpDOM = '<span class="el-pagination__jump">跳到<div class="el-input el-pagination__editor is-in-pagination"><input type="number" autocomplete="off" min="1" max="70" class="el-input__inner"></div>页<span class="el-pagination__confirm">确定</span></span>'
- this.$el.find('.el-pager').after(jumpDOM)
- },
- jumpDOMEvents: function () {
- var _this = this
- this.$el.find('.el-input__inner').on('keydown', function (e) {
- // 回车事件
- if (e.keyCode === 13) {
- _this.doPageChange()
- }
- })
- this.$el.find('.el-pagination__confirm').on('click', function (e) {
- _this.doPageChange()
- })
- },
- // 获取jump输入框内数组
- getJumpNum: function () {
- return this.$el.find('.el-input__inner').val() - 0
- },
- doPageChange: function () {
- // 计算页码
- var nextPageNum = this.getJumpNum()
- var pageTotal = this.data.pageTotal
- var pageNum = this.data.pageNum
- if (nextPageNum <= 0) {
- nextPageNum = 1
- } else if (nextPageNum === pageNum) {
- // 不做任何操作
- return
- } else if (nextPageNum > pageTotal) {
- nextPageNum = pageTotal
- }
- this.onPageChange(nextPageNum)
- },
- onPageChange: function (p) {
- console.log(p)
- try {
- onSEOPaginationChange && onSEOPaginationChange(p)
- } catch (error) {
- console.warn(error)
- }
- }
- }
- SEOPagination.init()
- })
|