自己写的一个Js小插件
这是效果图。上面一个过滤标签。下面弹出框,选择日,周,月。我的用途主要是报表查询的时候根据这3种类型来查询数据用的。

这里分享下代码。
Js代码
(function ($) {
$.extend($.fn, {
DtFilter: function (setting) {
var container = this.html('<span type="text" class="filterDiv"><i class="fa fa-filter"></i></span><div class="filterParamDiv"><a href="javascript:void(0);" class="day filterActive">日</a><a href="javascript:void(0);" class="week">周</a><a href="javascript:void(0);" class="month">月</a></div>');
container.find(".filterDiv,.filterParamDiv").mouseover(function () {
container.find(".filterParamDiv").show();
});
container.find(".filterDiv,.filterParamDiv").mouseout(function () {
container.find(".filterParamDiv").hide();
});
var ps = $.extend({
day: function () { },
week: function () { },
month: function () { }
}, setting);
var fil = {
day: function (e) {
ps.day(e);
container.find(".week").removeClass("filterActive");
container.find(".month").removeClass("filterActive");
container.find(".day").addClass("filterActive");
},
week: function (e) {
ps.week(e);
container.find(".week").addClass("filterActive");
container.find(".month").removeClass("filterActive");
container.find(".day").removeClass("filterActive");
},
month: function (e) {
ps.month(e);
container.find(".week").removeClass("filterActive");
container.find(".month").addClass("filterActive");
container.find(".day").removeClass("filterActive");
}
};
container.find('.day').bind('click', function (e) {
fil.day(e);
});
container.find('.week').bind('click', function (e) {
fil.week(e);
});
container.find('.month').bind('click', function (e) {
fil.month(e);
});
return container;
}
});
})(jQuery);
这里i标签fa fa-filter样式不是bootstrap里面的,如果有需要用的,可以修改成bootstrap里面的。
Css样式
.filtercontainer{
position:relative;
}
.filterDiv{
font-size:24px!important;
padding-left:5px;
padding-right:5px;
}
.filterDiv > i{
font-size:24px;
}
.filterParamDiv{
position:absolute;
left:-5px;
top:30px;
z-index:999!important;
border:1px solid #808080;
width:42px;
background:#808080;
opacity:0.7;
color:#fff;
height:122px;
display:none;
border-radius:5px;
}
.filterParamDiv > a{
display:block;
font-size:13px;
font-family:宋体;
width:30px;
height:30px;
text-align:center;
vertical-align:middle;
border:1px solid #fff;
border-radius:20px;
padding-top:5px;
color:#fff;
margin-left:5px;
margin-top:8px;
}
.filterActive{
color:#fff;
border:1px solid red!important;
background:red;
}
.filterParamDiv > a:visited{
color:#fff;
border:1px solid red;
background:red;
}
.filterParamDiv > a:hover{
color:#fff;
border:1px solid red;
background:red;
}
具体兼容性啥的我也不知道,我就在Chrome上面用的。
调用方法:
首先引用Js和Css,然后在Div上面添加Id="testfilter"
$("#testfilter").DtFilter({
day: function (e) {
//点击天
},
week: function (e) {
//点击周
},
month: function (e) {
//点击月
}
});
我是个做.NET后端的,前端不行,如果有问题,请指教,我也在学习中。
自己写的一个Js小插件的更多相关文章
- 用jQuery写了一个模态框插件
用jQuery写了一个模态框插件 大家觉得下面的框框好看么, 水印可以去掉(这个任务交给你们了(- o -)~zZ); "info"框 $("div").con ...
- 一个js小游戏----总结
花了大概一天左右的功夫实现了一个js小游戏的基本功能,类似于“雷电”那样的小游戏,实现了随即怪物发生器,碰撞检测,运动等等都实现了,下一个功能是子弹轨迹,还有其他一些扩展功能,没有用库,也没有用web ...
- 用Python 3写的一个Spider小爬虫(使用内置urllib模块and正则表达式)
用Python写了一个Spider小爬虫,爬一爬斗鱼“王者荣耀”在线直播的主播及人气
- 如何写一个Js上传图片插件。
项目里面需要一个上传图片的插件,找了半天没有找到满意的,算了 不找了,自己写一个吧,顺便复习一下js方面的知识.完成之后效果还不错,当然还要继续优化,源码在最后. 介绍一种常见的js插件的写法 ; ( ...
- 原生js写的一个弧形菜单插件
弧形菜单是一种半弧式或者全弧形菜单,是一种不同于传统横向或者竖向菜单形式的菜单.最近在网上看到好多人写出了这种效果,于是也尝试自己写了一个. 实现方式:原生态js 主要结构: 1.参数合并 var d ...
- 访问github太慢?我写了一个开源小工具一键变快
前言 GitHub应该是广大开发者最常去的站点,这里面有大量的优秀项目,是广大开发者寻找资源,交友学习的好地方.尤其是前段时间GitHub公布了一项代码存档计划--Arctic Code Vault, ...
- 调用百度API写了一个js翻译小工具
目前还未完成的功能有:textarea高度自适应,移动端与pc端都写了.效果如图: html: <!DOCTYPE html> <html lang="en"&g ...
- 今天写了一个SSM小项目,运行之后,前端页面的CSS、js样式显示不出来,具体操作如下:
因为SSM中我们设置了拦截器,拦截器会拦截CSS和JS,所有样式渲染不出来,在Web.xml中写上 1 <servlet-mapping> 2 <servlet-name>de ...
- 分享一下自己写的一个vscode-leetcode答题插件
0. 前言 春节这几天每天吃吃喝喝睡睡玩玩,突然发现明天就要上班了,吓得我虎躯一震. 春节结束之后,学生党们陆续开学,相信有许多同学马上就要在春季招聘中拼杀一番.想要收获心意的offer,当然免不了对 ...
随机推荐
- JavaScript中的Function类型浅析
1. Function类型是js中引用类型之一,每个函数实际上都是Function类型的实例对象,具有自己的属性和方法.正因为函数式对象,所以函数名实际上也是一个指向函数对象的指针. 2. 常用的函数 ...
- linux运维面试题
一.有文件file1 1.查询file1 里面空行的所在行号 grep -n "^#" file1 or awk ‗{if($0~/^$/)print NR}‘ file or g ...
- codeforces 390C Inna and Candy Boxes
这个题目看似不是很好下手,不过很容易发现每次询问的时候总是会问到第r个盒子是否有糖果: 这样的话就很好办事了: 维护两个数组: 一个sum数组:累加和: 一个in数组:如果i位是1的话,in[i]=i ...
- angular2地址栏路由配置
一步一步route过去可以,地址栏直接写url怎么就找不到了呢? 这关乎于Nodejs的express路由规则(http://hm4123660.iteye.com/blog/2195035) exp ...
- 编码问题 关于hibernate jdbc数据库连接在xml配置与在properties文件配置的差异
在properties中,&字符不需要转义,因此在连接数据库的时候使用编码的地方直接使用&即可: driverClass=com.mysql.jdbc.Driver jdbcUrl=j ...
- 【洛谷P2927 [USACO08DEC]拼图游戏Jigsaw Puzzles】深搜
其实,随便搜了一搜就可以AC了!!! - - 亏我纠结了这么久= = #include<cstdio> #include<cstdlib> #include<cstrin ...
- Javascript实现摩斯码加密解密
原文地址 作者:liaoyu 摩尔斯电码是一种时通时断的信号代码,通过不同的排列顺序来表达不同的英文字母.数字和标点符号,是由美国人萨缪尔·摩尔斯在1836年发明. 每一个字符(字母或数字)对应不同的 ...
- 【转】HTML中A标签与click事件的前世今生
在动态网页中,常常需要在单击超链接时处理一些数据,而不是跳转一个网页.在这种情况下,通常有以下三种处理方式: 不设置<a>标签的href属性,只设置onclick属性.在这种处理方式下,通 ...
- js模块,类,继承,命名空间,私有属性等相关概念梳理
js确切的说是一种基于对象的语言,和纯面向对象的语言(比如as)稍微有点区别,js中没有类的概念.虽然有继承但是基于原型的继承.随着前段越来越受重视,jser们利用js的一些特性他们制造出了和纯面向对 ...
- VS2005 工程在win7下使用管理员权限运行
想关资料 http://stackoverflow.com/questions/13030492/set-administrator-privilege-for-my-c-application-in ...