根据Bootstrap Paginator改写的js分页插件

前端之家收集整理的这篇文章主要介绍了根据Bootstrap Paginator改写的js分页插件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

刚刚出来实习,之前实习的公司有一个分页插件,和后端的数据字典约定好了的,基本上是看不到内部是怎么实现的,新公司是做WPF的,好像对于ASP.NET的东西不多,导师扔了一个小系统给我和另一个同事,指了两种框架的方案就让我们自己做了。。。

刚开始在网上找了一下,觉得bootstrap-paginator的api暴露出来,修改一下就可以做成之前实习公司的那种了,但是觉得没有跳转,很奇怪,想要一个,就动手在github上把源码拿下来了,不得不说,这代码写得真是比我这些实习编程之家好太多。(之前实习公司的组长临走之前给了我几个意见,其中就有让我多上全球最大的男性交友社区github多去看看 - - )这里给一下地址吧。

看了一些网上对于bootstrap-paginator插件的使用教程,对于使用起来还是没太大问题的,自己在改代码的时候发现都不太全。

首先,插件有调节大小、调节浮动位置的功能,但是我用的是bootstrap3,在bootstrap3中这些特性都不支持。。

后来,我就找了一下别的样式(前端无能,十分佩服前端大牛,硬是能把页面组织起来),效果大概就是:

给一下这个html代码吧。

  • <<
  • <
  • 1
  • 2
  • 3
  • 4
  • 5
  • 10
  • >
  • >>
  • 跳转
  • 样式代码很简单,如果有人想用的话,可以修改一下我的样式代码。。真的好像不怎么好看。

    看了样式的人应该发现了吧,原本是有一个选择框的,被我删了,选择框是用来控制页面显示信息的条数,因为这个控制目前不需要前端有,所以我取消了。

    好了,说说怎么调用吧。

    属性增加自定义样式标签增加自定义样式标签添加自定义样式插件初始化后显示的页插件显示的按钮数量(不包括首页、末页、上一页下一页等按钮)插件总页数标签加上href属性函数四个参数:even、originalEvent、type、 page,type的值为:first|prev|next|last|

    page|turn|ellipsis,page的值为单击按钮时跳转页码,current是跳转

    页码

    跳转前

    页码

    提示框插件函数三个参数:type,page,current,current是跳转

    页码

    可以修改页码显示,如把type为first的文字改成'首页'

    三个参数:type,current

    修改页码元素的title属性,默认有一个简单的实现,

    三个参数:type,current

    这个是把title注入到bootstrap的tooltip插件的模板

    大部分都还是保持和bootstrap-paginator插件属性

    下面怎么调用呢?给一个html的实例吧。

    首先把定义的样式拿进来,就是上面那个,存一个文件,引入(也可以和你自己的css文件放在一起,可以减少http请求次数)。

    这些都是基于jquery的插件,并且要1.8以上的版本。

    html中放一个div,这个div就是接下来要生成分页控件的父元素。记住一定是要div,bootstrap-paginator中bootstrap2是用div,bootstrap3是用ul。这里因为我们自己写的样式,就被我改成了必须是div。

    写一个简单的调用脚本。

    HTML里的调用就到这里了。我用的是ASP.NET MVC,所以直接用Razor引擎把ViewData或者ViewBag的数据装载进js里就好了。当然,既然打算这样用了,最好在后端直接写一个类,我给个例子。

    /// 当前页码 /// public int PageIndex { get; set; } /// /// 总页数 /// public int TotalPages { get; set; } /// /// 每页展示信息数 /// public int PageSize { get; set; } /// /// 前端分页调用的js方法名 /// public string PagerFun { get; set; } public Pager() {

    }
    public Pager(string pager)
    {
    PagerFun = pager;
    }
    }

    前面几个属性都好理解,那个PagerFun是什么呢?在插件属性中,有几个函数,比如:pageUrl、onPageClicked等,后端如果想在不同分页调用不同分页按钮点击事件,只需要把对应的js函数名在Razor引擎中放进插件声明时的参数就好了。这里给个例子吧。

    C# MVC控制器:

    ps:这里使用了刚刚上面那个Pager类。

    CSHTML:

    主要是onPageClicked:@(pager.PagerFun)这一句,在Razor引擎顶部我们声明了pager变量,从控制器中传到视图层,强转之后把PagerFun变量赋给了插件的onPageClicked属性插件内部识别它是一个函数调用了,例子中PagerFun的值为"test",效果是单击哪个按钮就弹出按钮代表的页码

    这只是其中一个函数,onPageChanged等都是可以的。第一次写,自己的js功底也并不是很深,借着bootstrap-paginator作者的源码学习了很多,代码也写得很优美!

    以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持编程之家!

    原文链接:https://www.f2er.com/bootstrap/43186.html

    猜你在找的Bootstrap相关文章