基于jquery扩展漂亮的CheckBox(自己编写)


Posted in Javascript onNovember 19, 2013

大家都知道默认的html复选框控件样式可定义相当有限,无法满足大多用户的美观度。今天跟大家一起分享前一段时间自己编写的CheckBox控件。喜欢的朋友可以拿去使用,有什么好的建议希望你给我留言。废话不多说,切入正题。

Html部分代码如下:

<b class="combox"></b>

Css部分代码如下:
.combox{float:left;background:url(/img/Icon_BG.png);} 
.combox{width:16px;height:16px;background-position:-21px -40px;cursor:pointer;font-size:9px;} 
.combox.checked{background-position:-37px -40px;}

Js部分代码如下:

1、自定复选框类

//复选框 
var CheckBox = function () { 
this.obj; 
var _this = this, _obj; 
//初始化 
this.init = function () { 
_obj = _this.obj; 
var tem = _obj.length > 1 ? _obj.eq(0) : _obj; 
if (tem.length == 1 && tem.attr('class').indexOf('combox') == -1) { 
showMessage("控件属性设置有误:部分控件并不是复选框!"); 
return; 
} 
//对象单击事件 
var click_fun = function (obj) { 
if (obj.attr('class').indexOf('checked') > -1) { 
obj.removeClass('checked'); 
_this.click_cancel(); 
} else { 
obj.addClass('checked'); 
_this.click_callback(); 
} 
} //设置有文字复选框 
if (_obj.attr('_txt') != undefined) { 
_obj.each(function (i) { 
var cb = _obj.eq(i); 
cb.wrapAll('<font class="cb_txt"></font>'); 
//文本单击事件 
cb.parent().append(cb.attr('_txt')).click(function () { click_fun(cb); }); 
}); 
} else//对象点击事件 
_obj.unbind('click').click(function () { click_fun($(this)); }); 
} 
//点击回调事件 
this.click_callback = function () { } 
//取消选择事件 
this.click_cancel = function () { } 
}

2、调用如下:
var checkbox = new CheckBox(); 
checkbox.obj = $('.content ul li .combox'); 
//点击回调事件 根据自己的需求去调整,默认没有相应操作事件,可以不用赋值 
checkbox.click_callback = function () { fun_setPay(); } 
//取消选择事件 
checkbox.click_cancel = function () { fun_setPay(); } 
checkbox.init();

使用的图片:
基于jquery扩展漂亮的CheckBox(自己编写) 
示例展示图:
基于jquery扩展漂亮的CheckBox(自己编写)
Javascript 相关文章推荐
关于Javascript模块化和命名空间管理的问题说明
Dec 06 Javascript
JQuery入门——事件切换之hover()方法应用介绍
Feb 05 Javascript
jQuery插件datalist实现很好看的input下拉列表
Jul 14 Javascript
基于javascript实现文字无缝滚动效果
Mar 22 Javascript
高效利用Angular中内置服务$http、$location等
Mar 22 Javascript
JS框架之vue.js(深入三:组件1)
Sep 29 Javascript
xcode中获取js文件的路径方法(推荐)
Nov 05 Javascript
ui-router中使用ocLazyLoad和resolve的具体方法
Oct 18 Javascript
VueRouter导航守卫用法详解
Dec 25 Javascript
JavaScript生成指定范围的时间列表
Mar 19 Javascript
一份超级详细的Vue-cli3.0使用教程【推荐】
Nov 15 Javascript
js尾调用优化的实现
May 23 Javascript
jquery showModelDialog的使用方法示例详解
Nov 19 #Javascript
js阻止冒泡及jquery阻止事件冒泡示例介绍
Nov 19 #Javascript
禁止ajax缓存获取程序最新数据的方法
Nov 19 #Javascript
JQueryiframe页面操作父页面中的元素与方法(实例讲解)
Nov 19 #Javascript
jQuery控制iFrame(实例代码)
Nov 19 #Javascript
jquery 检测元素是否存在的实例代码
Nov 19 #Javascript
JS复制内容到剪切板的实例代码(兼容IE与火狐)
Nov 19 #Javascript
You might like
上海地方志办公室-上海电子仪表工业志
2021/03/04 无线电
浅析使用Turck-mmcache编译来加速、优化PHP代码
2013/06/20 PHP
PHP设计模式之适配器模式定义与用法详解
2018/04/03 PHP
javascript判断用户浏览器插件安装情况的代码
2011/01/01 Javascript
8款非常棒的响应式jQuery 幻灯片插件推荐
2012/02/02 Javascript
JS脚本defer的作用示例介绍
2014/01/02 Javascript
javascript的解析执行顺序在各个浏览器中的不同
2014/03/17 Javascript
javascript 小数取整简单实现方式
2014/05/30 Javascript
js实现左侧网页tab滑动门效果代码
2015/09/06 Javascript
EasyUi中的Combogrid 实现分页和动态搜索远程数据
2016/04/01 Javascript
关于原生js中bind函数的简单实现
2016/08/10 Javascript
JS获取鼠标选中的文字
2016/08/10 Javascript
又一款js时钟!transform实现时钟效果
2016/08/15 Javascript
JS动态计算移动端rem的解决方案
2016/10/14 Javascript
详解Javascript函数声明与递归调用
2016/10/22 Javascript
详解Vue爬坑之vuex初识
2017/06/14 Javascript
JavaScript 正则命名分组【推荐】
2018/06/07 Javascript
深入理解react 组件类型及使用场景
2019/03/07 Javascript
微信小程序常用赋值方法小结
2019/04/30 Javascript
记录vue项目中遇到的一点小问题
2019/05/14 Javascript
layui实现数据分页功能
2019/07/27 Javascript
three.js显示中文字体与tween应用详析
2021/01/04 Javascript
python实现socket客户端和服务端简单示例
2014/02/24 Python
Python中用PIL库批量给图片加上序号的教程
2015/05/06 Python
解决Python requests库编码 socks5代理的问题
2018/05/07 Python
完美解决Pycharm无法导入包的问题 Unresolved reference
2018/05/18 Python
python selenium 获取标签的属性值、内容、状态方法
2018/06/22 Python
python绘制立方体的方法
2018/07/02 Python
python爬虫之线程池和进程池功能与用法详解
2018/08/02 Python
python实现任意位置文件分割的实例
2018/12/14 Python
css3 伪类选择器快速复习小结
2019/09/10 HTML / CSS
中专毕业生个人职业生涯规划
2014/02/19 职场文书
新闻工作者先进事迹
2014/05/26 职场文书
私人委托书格式
2014/09/10 职场文书
2015年禁毒工作总结
2015/04/30 职场文书
个人销售励志奋斗口号
2019/12/05 职场文书