热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

jquery插件锦集【推荐】

本文主要分享了jquery插件:时钟效果;倒计时;全选效果;tab点击切换;tab鼠标移动切换;文本输入搜索等。具有很好的参考价值需要的朋友一起来看下吧

本篇的由来是群里面某个朋友提到说:有没有一个倒计时的特效,格式如分钟:秒;由此思考了下,觉得弄几个常用效果的js小插件还是不错的,可以供大家学习和使用,这里我取名为:shenniu.effect.js;希望大家喜欢,多多点赞支持:

. 时钟效果

. 倒计时

. 全选效果

. tab点击切换

. tab鼠标移动切换

. 文本输入搜索

. 几个常用table展示方式插件

. 列表插件shenniu.pager.js

下面一步一个脚印的来分享:

首先,先发个线上测试地址lovexins.com:8081/tpl/effect.html,接着需要引用jquery.js和shenniu.effect.js及shenniu.effect.css,然后咋们一起来看怎么使用和效果图

. 时钟插件代码:

//横向时钟
 HenXiangClock: function (option) {
 var defOption = {
 id: "HenXiangClockId",
 format: "yyy-MM-dd HH:mm:ss", //格式
 setInterNum: 1 * 1000, //js计时器的周期时间,默认1s
 };
 $.extend(defOption, option);
 var clearVal = setInterval(function () {
 var dateTime = new Date();
 var y = dateTime.getFullYear();
 var M = dateTime.getMonth() + 1;
 var d = dateTime.getDate();
 var h = dateTime.getHours();
 var m = dateTime.getMinutes();
 var s = dateTime.getSeconds();
 var sy = y;
 var sM = addZero(M, 10, 0);
 var sd = addZero(d, 10, 0);
 var sh = addZero(h, 10, 0);
 var sm = addZero(m, 10, 0);
 var ss = addZero(s, 10, 0);
 var result = defOption.format.
 replace("yyyy", sy).
 replace("MM", sM).
 replace("dd", sd).
 replace("HH", sh).
 replace("mm", sm).
 replace("ss", ss);
 $("#" + option.id).html(result);
 if (defOption.setInterNum <= 0) { clearInterval(clearVal); }
 }, defOption.setInterNum);
 }

横向时钟

effect.HenXiangClock({ id: "div1_1", format: "yyyy-MM-dd HH:mm:ss" });

文字时钟

effect.HenXiangClock({ id: "div1_2", format: "yyyy年MM月dd日HH时mm分ss秒" });

缩写时钟

 effect.HenXiangClock({ id: "div1_3", format: "HH时mm分ss秒" });
 effect.HenXiangClock({ id: "div1_4", format: "HH:mm:ss" });
 effect.HenXiangClock({ id: "div1_5", format: "yyyy-MM-dd", setInterNum: 0 });

. 倒计时插件代码:

//倒计时
 ReClock: function (option) {
 var defOption = {
 id: "ReClockId",
 h: 0, //时
 m: 0, //分钟
 s: 0, //秒
 format: "HH:mm:ss", //格式
 isAutoZero: true, //数字个位数的时候,是否自动增加0
 setInterNum: 1 * 1000, //js计时器的周期时间,默认1s
 backFun: function () { }
 };
 $.extend(defOption, option);
 var clearVal = setInterval(function () {
 var dateTime = new Date(0, 0, 0, defOption.h, defOption.m, defOption.s, 0);
 if (defOption.s <= 0) {
 if (defOption.m <= 0) {
 if (defOption.h <= 0) {
 $("#" + defOption.id).html("");
 //清除timer
 clearInterval(clearVal);
 //执行回调函数
 defOption.backFun();
 return;
 } else {
 defOption.s = 59;
 defOption.m = 59;
 defOption.h--;
 }
 } else {
 defOption.s = 59;
 defOption.m--;
 }
 }
 var h = dateTime.getHours();
 var m = dateTime.getMinutes();
 var s = dateTime.getSeconds();
 var compareNum = defOption.isAutoZero &#63; 10 : 0;
 var sh = addZero(h, compareNum, 0);
 var sm = addZero(m, compareNum, 0);
 var ss = addZero(s, compareNum, 0);
 var result = defOption.format.
 replace("HH", sh).
 replace("mm", sm).
 replace("ss", ss);
 $("#" + defOption.id).html(result);
 defOption.s--;
 }, defOption.setInterNum);
 }

时钟倒计时

//倒计时
 effect.ReClock({
 id: "div2_1", m: 1, format: "mm:ss", backFun: function () {
 $("#div2_1").html("结束啦");
 }
 });

提交按钮倒计时

$("#btn2_2").on("click", function () {
 var btnObj = $(this);
 btnObj.attr("disabled", "disabled")
 effect.ReClock({
 id: "div2_2",
 s: 10,
 format: "ss秒后才能重新获取",
 isAutoZero: false,
 backFun: function () {
 btnObj.removeAttr("disabled");
 }
 });
 });

提交按钮倒计时缩写

$("#btn2_3").on("click", function () {
 var btnObj = $(this);
 btnObj.attr("disabled", "disabled")
 effect.ReClock({
 id: "div2_3",
 s: 10,
 format: "ss秒",
 isAutoZero: false,
 backFun: function () {
 btnObj.removeAttr("disabled");
 }
 });
 });

. 全选插件代码:

//全选
 CheckBoxAll: function (option) {
 var defOption = {
 nameAll: "cbAll", //全选项Name
 nameChild: "cb" //子项Name
 };
 $.extend(defOption, option);
 $("input[type='checkbox'][name='" + defOption.nameAll + "']").on("click", function () {
 var isChecked = $(this).is(":checked");
 $("input[type='checkbox'][name='" + defOption.nameChild + "']").prop("checked", isChecked);
 });
 }

 //全选
 effect.CheckBoxAll({
 nameAll: "cbAll", //全选项Name
 nameChild: "cb" //子项Name
 });

. tab切换插件:

//tab切换
 TabPanel: function (option) {
 var defOption = {
 tabShowId: "tabShowId", //tab需要显示在div的Id
 data: [
 { title: "tab1", content: "王小一", url: "" },
 { title: "tab2", content: "", url: "http://121.42.208.152/" },
 { title: "tab3", content: "王小二", url: "" },
 { title: "tab4", content: "王小三", url: "" }
 ],
 isMouseMove: false, //是否鼠标移动切换
 tabParentId: "divTab", //tab按钮父级的id
 tabContentId: "divTabContent" //内容区域父级Id
 };
 $.extend(defOption, option);
 //构造html样式
 var tHtml = [];
 var pHtml = [];
 $.each(defOption.data, function (i, item) {
 if (item.title.length > 0) {
 var labFirst = (i == 0 &#63; "class=\"checkLabel\"" : "");
 var panelFirst = (i == 0 &#63; "" : "hide");
 tHtml.push('');
 if (item.content.length > 0) {
 var cOntent= item.content;
 pHtml.push('
' + content + '
'); } else if (item.url.length > 0) { pHtml.push('
'); pHtml.push(' '); pHtml.push('
'); } else { pHtml.push('
'); } } }); if (tHtml.length <= 0) { return; } var tabHtml = []; tabHtml.push('
'); tabHtml.push(tHtml.join('')); tabHtml.push('
'); tabHtml.push('
'); tabHtml.push(pHtml.join('')); tabHtml.push('
'); $("#" + defOption.tabShowId).html(tabHtml.join('')); var tabParnetObj = $("#" + defOption.tabParentId); var tabCOntentObj= $("#" + defOption.tabContentId); tabParnetObj.find("label[data-panel-val]").on(defOption.isMouseMove &#63; "mouseover" : "click", function () { //对应值 var panelVal = $(this).attr("data-panel-val"); //tab按钮 tabParnetObj.find("label[data-panel-val]").removeClass("checkLabel"); $(this).addClass("checkLabel"); //必须div承载内容 tabContentObj.find("div[data-panel-item]").addClass("hide"); //全部隐藏 tabContentObj.find("div[data-panel-item='" + panelVal + "']").removeClass("hide"); //选中展示 }); }

tab点击切换

//tab点击切换
 effect.TabPanel({
 tabShowId: "divShowTab01",
 data: [
 { title: "tab1", content: "最近的工作能力大大提升,
得到赏识,
可是太注重事业和赚钱了,
导致让身体透支,
需要多注意健康,
一日三餐要准时才好。", url: "" }, { title: "tab2", content: "今日身边的女性友人会是你的贵人,多跟她们接触会得到一些好消息。
另外财运旺盛,只要能抓紧契机,积极行动便能进账丰厚。", url: "" }, { title: "tab3", content: '很压抑。。。。128x128', url: "" }, { title: "tab4", content: "", url: "http://121.42.208.152/" } ] });

tab鼠标移动切换

使用代码:

//tab滑动切换
 effect.TabPanel({
 tabShowId: "divShowTab02",
 data: [
 { title: "tab1", content: "1
11
111
1111
11111
", url: "" }, { title: "tab2", content: "2
22
222
2222
22222
", url: "" }, { title: "tab3", content: "3
33
333
3333
33333
", url: "" } ], tabParentId: "divTab01", //tab按钮父级的id tabContentId: "divTabContent01", //内容区域父级Id isMouseMove: true });

. 文本输入搜索

//文本输入搜索
 TxtSearch: function (option) {
 var defOption = {
 name: "txtSearch", //搜索框Name
 size: 5, //显示条数
 data: [
 { text: "我爱您啊", value: "1" },
 { text: "我爱祖国", value: "2" },
 { text: "我爱家人", value: "3" },
 { text: "我喜欢美女", value: "4" },
 { text: "我爱钱", value: "5" },
 { text: "我是神牛步行3", value: "6" }
 ],
 showDivId: "div_TxtSearch" //展示内容的divId
 };
 $.extend(defOption, option);
 $("input[name='" + defOption.name + "']").on("keyup", function () {
 var txtObj = $(this);
 var divSearchObj = txtObj.next("div[id='div_TxtSearch']");
 if (divSearchObj) {
 divSearchObj.remove();
 }
 var txtVal = $(this).val();
 if (txtVal.length <= 0) {
 return;
 }
 var dataHtml = [];
 var nSize = 0;
 $.each(defOption.data, function (i, item) {
 if (item.text.indexOf(txtVal) >= 0) {
 dataHtml.push('
  • ' + item.text + '
  • '); nSize++; if (nSize >= defOption.size) { return false; } } }); if (dataHtml.length <= 0) { return; } var w = txtObj.css("width"); var txtHtml = []; txtHtml.push('
    '); txtHtml.push('
      '); txtHtml.push(dataHtml.join('')); txtHtml.push('
    '); txtHtml.push('
    '); $(this).after(txtHtml.join('')); //重新获取对象 divSearchObj = txtObj.next("div[id='div_TxtSearch']"); //选中项事件 var liObj = $("div[id='" + defOption.showDivId + "']").find("ul li"); //鼠标移上去 liObj.on("mouseover", function () { $(this).css("background-color", "#efecec"); }); liObj.on("mouseout", function () { $(this).css("background-color", "#fff"); }); //选中 liObj.on("click", function () { var liVal = $(this).attr("data-val"); var liText = $(this).html(); txtObj.val(liText); }); }); //绑定焦点事件 $("input[name='" + defOption.name + "']").on("focus", function () { $("div[id='" + defOption.showDivId + "']").show(); }); //失去焦点 $(document).on("click", function (e) { var txtObj = $("input[name='" + defOption.name + "']"); var divSearchObj = txtObj.next("div[id='div_TxtSearch']"); var tH = txtObj.prop("outerHTML"); var eH = $(e.target).prop("outerHTML"); if (tH == eH) { divSearchObj.show(); } else { divSearchObj.hide(); } }); }

    //文本下拉搜索
     effect.TxtSearch({
     name: "txtSearch", //搜索框Name
     size: 5,//显示5条
     data: [
     { text: "我爱您啊!", value: "1" },
     { text: "我爱祖国!", value: "2" },
     { text: "我爱家人!", value: "3" },
     { text: "我喜欢美女!", value: "4" },
     { text: "我爱钱!", value: "5" },
     { text: "我是神牛步行3!", value: "6" }
     ]
     });
    

    . 几个常用table展示方式插件table.shenniu.js

    由于这个table.shenniu.js说明插件已经在前面文章分享过了,在里就不多说了各位可以点击链接看下使用说明

    . 列表插件shenniu.pager.js

    由于这个shenniu.pager.js说明件已经在前面文章分享过了,在里就不多说了各位可以点击链接看下使用说明

    下面给出测试页面调用插件的例子,方便大家直接使用:


    推荐阅读
    • 本文介绍了使用jQuery实现图片预加载和等比例缩放的方法,同时提供了演示和相关代码。该方法可以重置图片的宽度和高度,并使图片在水平和垂直方向上居中显示。 ... [详细]
    • Android实战——jsoup实现网络爬虫,糗事百科项目的起步
      本文介绍了Android实战中使用jsoup实现网络爬虫的方法,以糗事百科项目为例。对于初学者来说,数据源的缺乏是做项目的最大烦恼之一。本文讲述了如何使用网络爬虫获取数据,并以糗事百科作为练手项目。同时,提到了使用jsoup需要结合前端基础知识,以及如果学过JS的话可以更轻松地使用该框架。 ... [详细]
    • Java实战之电影在线观看系统的实现
      本文介绍了Java实战之电影在线观看系统的实现过程。首先对项目进行了简述,然后展示了系统的效果图。接着介绍了系统的核心代码,包括后台用户管理控制器、电影管理控制器和前台电影控制器。最后对项目的环境配置和使用的技术进行了说明,包括JSP、Spring、SpringMVC、MyBatis、html、css、JavaScript、JQuery、Ajax、layui和maven等。 ... [详细]
    • CSS3选择器的使用方法详解,提高Web开发效率和精准度
      本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
    • Voicewo在线语音识别转换jQuery插件的特点和示例
      本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
    • Java验证码——kaptcha的使用配置及样式
      本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
    • Ihavethefollowingonhtml我在html上有以下内容<html><head><scriptsrc..3003_Tes ... [详细]
    • 本文介绍了前端人员必须知道的三个问题,即前端都做哪些事、前端都需要哪些技术,以及前端的发展阶段。初级阶段包括HTML、CSS、JavaScript和jQuery的基础知识。进阶阶段涵盖了面向对象编程、响应式设计、Ajax、HTML5等新兴技术。高级阶段包括架构基础、模块化开发、预编译和前沿规范等内容。此外,还介绍了一些后端服务,如Node.js。 ... [详细]
    • 例如控件ID为user.id使用$(#user.id)不能得到正确的结果必须使用\\转义即$(#user\\.id)转载于:https:www.cnblogs.comrch ... [详细]
    • HTML5网页模板怎么加百度统计?
      本文介绍了如何在HTML5网页模板中加入百度统计,并对模板文件、css样式表、js插件库等内容进行了说明。同时还解答了关于HTML5网页模板的使用方法、表单提交、域名和空间的问题,并介绍了如何使用Visual Studio 2010创建HTML5模板。此外,还提到了使用Jquery编写美好的HTML5前端框架模板的方法,以及制作企业HTML5网站模板和支持HTML5的CMS。 ... [详细]
    • 从零基础到精通的前台学习路线
      随着互联网的发展,前台开发工程师成为市场上非常抢手的人才。本文介绍了从零基础到精通前台开发的学习路线,包括学习HTML、CSS、JavaScript等基础知识和常用工具的使用。通过循序渐进的学习,可以掌握前台开发的基本技能,并有能力找到一份月薪8000以上的工作。 ... [详细]
    • 本文介绍了如何在Jquery中通过元素的样式值获取元素,并将其赋值给一个变量。提供了5种解决方案供参考。 ... [详细]
    • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
    • 本文介绍了通过ABAP开发往外网发邮件的需求,并提供了配置和代码整理的资料。其中包括了配置SAP邮件服务器的步骤和ABAP写发送邮件代码的过程。通过RZ10配置参数和icm/server_port_1的设定,可以实现向Sap User和外部邮件发送邮件的功能。希望对需要的开发人员有帮助。摘要长度:184字。 ... [详细]
    • 随着前端技术的发展,越来越多的开发者开始使用react、vue等web框架,但很少有人深入理解这些框架的源码。然而,这些框架底层都是由原生的javascript构建而成。对于初学前端的人来说,可能会认为javascript很容易上手,但实际上只是因为它被高度封装了。与能够使用封装类的人相比,能够理解框架原理的人则处于另一个层面。本文将深入剖析jquery源码,探寻框架底层的原理,帮助读者更好地理解web框架的运行机制。 ... [详细]
    author-avatar
    Carol卍_932
    这个家伙很懒,什么也没留下!
    PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有