js基础学习过程中,期间经历换工作的各种面试,很多面试官问过:有没有写过jquery插件?等类似问题。

就个人而言,关于jquery插件的文章确实看过不少,但是一直没有动手写一个,一是不想在目前学习js基础知识的时候,插入jQuery的插件的写法;二也是从思想上,可能也没太做好写插件的准备,总是感觉很麻烦,或者说很困难。

但是经历多次的面试之后,觉得还是有必要抓紧时间写一点插件,哪怕当做自己个人前端组件积累的一部分,也得提上日程了。

在新公司入职之后,正好项目刚刚上线,新的需求还没有下来,手头上并没有分到新的需求,就利用这段时间,决定写写jQuery插件了。由易而难,先写了一个模拟select的下拉选择框的插件,给了自己充足的信心。着手分页插件的写法。

从早上到公司开始入手,由于经验上的问题,对于插件需要传入的参数,或者说将来可以自定制的部分考虑的可能并不是很周全,等想到新的课定制部分的时候,会继续修改维护。废话不多说,直接贴代码。

最终的效果图如图所示。

html部分代码:

html部分只有一个盛放分页内容的盒子,class为pages必不可少,css和插件内部都用到了该class。

css部分是用scss编写的,直接贴上scss代码。

插件部分核心js代码:

调用部分代码:

参数解释一下:

currentPage: 数值,当前的页码;totalPage:数值,总页码;showPage:数值,需要展示几个页码;showBeginEnd:布尔值,是否需要展示“首页”和“尾页”,true展示,false不展示;showPrevNext:布尔值,是否展示“上一页”和“下一页”,true展示,false不展示。

以上参数如果都没传的话,都有默认值。

callback:回调函数,分页的核心操作,前台页面调用分页函数之后,进行数据查询等操作,所有操作在这里完成。

自己diy一个jquery分页插件的更多相关文章

  1. 分享一个Jquery 分页插件 Jquery Pagination

    分页插件来说,我觉得适用就行,尽量简单然后能够根据不同的应用场景能够换肤.展现形式等. 对于初学者想写分页插件的同学,也可以看下源码,代码也挺简单明了的,也助于自己写个小插件. 不过我比较懒,一般直接 ...

  2. 自己写的一个jQuery分页插件

    ;(function($){ $.fn.extend({ pageList: function (json) { function PageList() { this.initHtml = " ...

  3. 一个强大的jquery分页插件

    点击这里查看效果 这个分页插件使用方便,引用keleyidivpager.js和keleyidivpager.css文件,然后在htm(或者php,aspx,jsp等)页面中对分页总数,参数名,前缀后 ...

  4. 21个很棒的jQuery分页插件下载

    分页是指将一个大内容划分为各种不同的页面,因此网站的分页是一个很重要的部分,必须让内容有组织性和易于访问.分页有各两种不同的方式,手动跟自动.最受欢迎简单和广泛的方法是jQuery插件.下面我们收集了 ...

  5. jQuery 分页插件 jqPagination的使用

    jqPagination 是一个简单易用的轻量级 jQuery分页插件,其使用了 HTML5 和 CSS3 技术来实现.此插件提供了几个参数设置选项,通过简单的配置即可生成分页控件.此外,它的外观样式 ...

  6. jquery分页插件的修改

    前言 最近分页功能使用的比较多,所以从网上下载个jquery分页插件来使用, 之前用的都挺好的,直到昨天出现了逻辑问题,反复查看自己的代码,最后发现是点击页码后执行了多个点击事件.最后只有自己查看源码 ...

  7. 20个jQuery分页插件和教程

    1.客户端的jQuery 分页插件jPages jPages 是一个客户端的分页插件,但提供很多特性例如自动翻页.键盘和滚动浏览,延迟显示以及完全可定制的导航面板. Read More Demo 2. ...

  8. Jquery 分页插件 Jquery Pagination

    Jquery 分页插件 Jquery Pagination 分页插件来说,我觉得适用就行,尽量简单然后能够根据不同的应用场景能够换肤.展现形式等. 对于初学者想写分页插件的同学,也可以看下源码,代码也 ...

  9. jQuery分页插件(jquery.page.js)的使用

    效果描述: 不用分页即可显示的jQuery插件 jQuery分页插件——jQuery.page.js用法很简单,效果很棒   1.前端   首先html的head中引入相关css与js <lin ...

随机推荐

  1. ural 1243. Divorce of the Seven Dwarfs

    1243. Divorce of the Seven Dwarfs Time limit: 1.0 secondMemory limit: 64 MB After the Snow White wit ...

  2. Pebbles

    Pebbles Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Sub ...

  3. 游戏 slider

    using UnityEngine; using System.Collections; public class La : MonoBehaviour { float verticalValue=0 ...

  4. TextBlock 格式化内容

    Text="{Binding ContentName,StringFormat=分享好书\{0\}}"

  5. 从一个action地址获取信息

    get方法 String url_str ="http://127.0.0.1:8400/lxyyProduct/getProductUserNeedUpdate.action?ts=&qu ...

  6. ext4 文件系统的一些记录

    https://www.kernel.org/doc/Documentation/filesystems/ext4.txt ext4 权威说明 http://computer-forensics.sa ...

  7. HttpClient_javax.net.ssl.SSLHandshakeException: sun.security.validator 问题解决,与环境有关

    用httpclient访问https 资源时,会出现异常,与环境也有关系,有些机器请求正常. javax.net.ssl.SSLHandshakeException: sun.security.val ...

  8. PHP5 session 详解【经典】 -- 转帖

    PHP5 session 详解[经典] http协议是WEB服务器与客户端(浏览器)相互通信的协议,它是一种无状态协议.所谓无状态,指的是不会维护http请求数据,http请求是独立的,非持久的.而越 ...

  9. C# - JSON操作

    Newtonsoft.dll插件 http://download.csdn.net/detail/xinping_168/4710720 洪大师二次封装: using System; using Sy ...

  10. 安装Bind过程中提示丢失MSVCR110.dll的解决办法

    前几天在线安装Visual Studio 2012 Update 3,由于在线安装需要不断下载安装文件,时间很长,后来等不下去,就取消了,不幸的是VS启动不了了,弹出“devenv.exe – 系统错 ...