jquery插件锦集【推荐】


Posted in Javascript onDecember 16, 2016

本篇的由来是群里面某个朋友提到说:有没有一个倒计时的特效,格式如分钟:秒;由此思考了下,觉得弄几个常用效果的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 ? 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("结束啦");
 }
 });

提交按钮倒计时

jquery插件锦集【推荐】

$("#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");
 }
 });
 });

提交按钮倒计时缩写

jquery插件锦集【推荐】

$("#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);
 });
 }

jquery插件锦集【推荐】

//全选
 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 ? "class=\"checkLabel\"" : "");
 var panelFirst = (i == 0 ? "" : "hide");
 tHtml.push('<label data-panel-val="' + i + '" ' + labFirst + '>' + item.title + '</label>');
 if (item.content.length > 0) {
 var content = item.content;
 pHtml.push('<div data-panel-item="' + i + '" class="' + panelFirst + ' panelContent text-left">' + content + '</div>');
 } else if (item.url.length > 0) {
 pHtml.push('<div data-panel-item="' + i + '" class="' + panelFirst + ' panelContent text-left">');
 pHtml.push(' <iframe src="' + item.url + '" frameborder="0" scrolling="auto" marginheight="0" marginwidth="0" style="width: 100%; height: 100%;" id="modalContent">');
 pHtml.push('</div>');
 } else {
 pHtml.push('<div data-panel-item="' + i + '" class="' + panelFirst + ' panelContent text-left"></div>');
 }
 }
 });
 if (tHtml.length <= 0) { return; }
 var tabHtml = [];
 tabHtml.push('<div id="' + defOption.tabParentId + '" class="divTab">');
 tabHtml.push(tHtml.join(''));
 tabHtml.push('</div>');
 tabHtml.push('<div id="' + defOption.tabContentId + '">');
 tabHtml.push(pHtml.join(''));
 tabHtml.push('</div>');
 $("#" + defOption.tabShowId).html(tabHtml.join(''));
 var tabParnetObj = $("#" + defOption.tabParentId);
 var tabContentObj = $("#" + defOption.tabContentId);
 tabParnetObj.find("label[data-panel-val]").on(defOption.isMouseMove ? "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: "最近的工作能力大大提升,<br/>得到赏识,<br/>可是太注重事业和赚钱了,<br/>导致让身体透支,<br/>需要多注意健康,<br/>一日三餐要准时才好。", url: "" },
 { title: "tab2", content: "今日身边的女性友人会是你的贵人,多跟她们接触会得到一些好消息。<br/>另外财运旺盛,只要能抓紧契机,积极行动便能进账丰厚。", url: "" },
 { title: "tab3", content: '很压抑。。。。<img class="img-rounded" alt="128x128" id="imgShow" src="http://121.42.208.152:8080/XS.Web/ImgContentFolder/thunbnail/20161212141115292726.jpg" data-holder-rendered="true" style="width: 260px; height: 260px;box-shadow: 10px 10px 5px grey;">', url: "" },
 { title: "tab4", content: "", url: "http://121.42.208.152/" }
 ]
 });

tab鼠标移动切换

jquery插件锦集【推荐】

使用代码:

//tab滑动切换
 effect.TabPanel({
 tabShowId: "divShowTab02",
 data: [
 { title: "tab1", content: "1<br />11<br />111<br />1111<br />11111<br />", url: "" },
 { title: "tab2", content: "2<br />22<br />222<br />2222<br />22222<br />", url: "" },
 { title: "tab3", content: "3<br />33<br />333<br />3333<br />33333<br />", 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('<li data-val="' + item.value + '" style="padding:1px 3px; cursor: pointer;">' + item.text + '</li>');
 nSize++;
 if (nSize >= defOption.size) {
 return false;
 }
 }
 });
 if (dataHtml.length <= 0) { return; }
 var w = txtObj.css("width");
 var txtHtml = [];
 txtHtml.push('<div id="' + defOption.showDivId + '" style="position: absolute; width: ' + w + '; z-index: 99; background: #fff; border: 1px solid #ccc;margin-top: -1px; overflow:hidden; display: block;">');
 txtHtml.push(' <ul style=" list-style: none;padding:0px 0px">');
 txtHtml.push(dataHtml.join(''));
 txtHtml.push(' </ul>');
 txtHtml.push('</div>');
 $(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();
 }
 });
 }

jquery插件锦集【推荐】

//文本下拉搜索
 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说明件已经在前面文章分享过了,在里就不多说了各位可以点击链接看下使用说明

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

Javascript 相关文章推荐
Jquery 滑入滑出效果实现代码
Mar 27 Javascript
两种js监听滚轮事件的实现方法
May 13 Javascript
jQuery基于toggle实现click触发DIV的显示与隐藏问题分析
Jun 12 Javascript
JavaScript中函数声明与函数表达式的区别详解
Aug 18 Javascript
javascript数字验证的实例代码(推荐)
Aug 20 Javascript
canvas实现爱心和彩虹雨效果
Mar 09 Javascript
原生JS实现的简单小钟表功能示例
Aug 30 Javascript
微信小程序实现多选框全选与取消全选功能示例
May 14 Javascript
vue实现带复选框的树形菜单
May 27 Javascript
layui在form表单页面通过Validform加入简单验证的方法
Sep 06 Javascript
js 计数排序的实现示例(升级版)
Jan 12 Javascript
JS实现页面炫酷的时钟特效示例
Aug 14 Javascript
jQuery Easyui 下拉树组件combotree
Dec 16 #Javascript
JS实现字符串转驼峰格式的方法
Dec 16 #Javascript
详解js数组的完全随机排列算法
Dec 16 #Javascript
JS返回只包含数字类型的数组实例分析
Dec 16 #Javascript
基于Vue如何封装分页组件
Dec 16 #Javascript
使用ionic切换页面卡顿的解决方法
Dec 16 #Javascript
详解如何较好的使用js
Dec 16 #Javascript
You might like
《斗罗大陆》六翼天使武魂最强,为什么老千家不是上三宗?
2020/03/02 国漫
PHP登录环节防止sql注入的方法浅析
2014/06/30 PHP
php不使用copy()函数复制文件的方法
2015/03/13 PHP
PHP中遇到的时区问题解决方法
2015/07/23 PHP
Thinkphp5 如何隐藏入口文件index.php(URL重写)
2019/10/16 PHP
javascript 学习笔记(一)DOM基本操作
2011/04/08 Javascript
js实现动态添加、删除行、onkeyup表格求和示例
2013/08/18 Javascript
详解AngularJS中module模块的导入导出
2015/12/10 Javascript
微信小程序 后台https域名绑定和免费的https证书申请详解
2016/11/10 Javascript
JS动态生成年份和月份实例代码
2017/02/04 Javascript
JS实现在文本指定位置插入内容的简单示例
2017/12/22 Javascript
vue项目常用组件和框架结构介绍
2017/12/24 Javascript
angularJS的radio实现单项二选一的使用方法
2018/02/28 Javascript
vue给组件传递不同的值方法
2018/09/29 Javascript
微信小程序文章详情功能完整实例
2020/06/03 Javascript
Vant 在vue-cli 4.x中按需加载操作
2020/11/05 Javascript
JavaScript ES 模块的使用
2020/11/12 Javascript
[03:20]次级联赛厮杀超职业 现超级兵对拆世纪大战
2014/10/30 DOTA
python实现的udp协议Server和Client代码实例
2014/06/04 Python
Python中用sleep()方法操作时间的教程
2015/05/22 Python
python之virtualenv的简单使用方法(必看篇)
2017/11/25 Python
numpy中矩阵合并的实例
2018/06/15 Python
numpy matrix和array的乘和加实例
2018/06/28 Python
python实现批量视频分帧、保存视频帧
2019/05/31 Python
pycharm 批量修改变量名称的方法
2019/08/01 Python
python 读取数据库并绘图的实例
2019/12/03 Python
Python利用Xpath选择器爬取京东网商品信息
2020/06/01 Python
小天鹅官方商城:LittleSwan
2017/06/16 全球购物
匡威俄罗斯官网:Converse俄罗斯
2020/05/09 全球购物
季度思想汇报
2014/01/01 职场文书
餐饮企业总经理岗位职责范文
2014/02/18 职场文书
国际贸易专业自荐信
2014/06/10 职场文书
对外汉语专业大学生职业生涯规划范文
2014/09/13 职场文书
创业计划之特色精品店
2019/08/12 职场文书
一文带你理解vue创建一个后台管理系统流程(Vue+Element)
2021/05/18 Vue.js
MongoDB数据库之添删改查
2022/04/26 MongoDB