基于jquery自定义的漂亮单选按钮RadioButton


Posted in Javascript onNovember 19, 2013

继续分享web前端自定义控件,今天所要分享的控件是单选按钮,希望对你有收获,有好的建议也希望能留言给我。代码如下:

Html代码如下:

<div style="margin:50px;float:left;"> 
<b class="radio" _txt="单选我"></b> 
<b class="radio" _txt="单选你"></b> 
<b class="radio" _txt="单选他"></b> 
</div>

Css代码如下:
.radio{float:left;background:url(/img/Icon_BG.png);} 
.radio{width:14px;height:14px;background-position:0px -58px;cursor:pointer;font-size:9px;} 
.radio.checked{background-position: -15px -58px;} 
.radio_txt{float:left;margin:0px 0 0 10px;cursor:pointer;line-height:14px;font-size:12px;} 
.radio_txt .radio{margin-right:5px;}

Js部分代码:

1、自定义单选按钮类

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

2、实例化:
//初始化单选框 
var radio = new RadioButton(); 
radio.obj = $('.radio'); 
radio.init();

示例图片:
基于jquery自定义的漂亮单选按钮RadioButton 
样式集合图:
基于jquery自定义的漂亮单选按钮RadioButton
Javascript 相关文章推荐
Jquery实现无刷新DropDownList联动实现代码
Mar 08 Javascript
你必须知道的Javascript知识点之&quot;字面量和对应类型&quot;说明介绍
Apr 23 Javascript
JS localStorage实现本地缓存的方法
Jun 22 Javascript
jQuery避免$符和其他JS库冲突的方法对比
Feb 20 Javascript
ExtJS4给Combobox设置列表中的默认值示例
May 02 Javascript
Canvas实现动态的雪花效果
Feb 13 Javascript
JS 组件系列之 bootstrap treegrid 组件封装过程
Apr 28 Javascript
webpack项目轻松混用css module的方法
Jun 12 Javascript
使用elementUI实现将图片上传到本地的示例
Sep 04 Javascript
javacript replace 正则取字符串中的值并替换【推荐】
Sep 13 Javascript
eslint 的三大通用规则详解
May 16 Javascript
微信小程序修改checkbox的样式代码实例
Jan 21 Javascript
基于jquery扩展漂亮的下拉框可以二次修改
Nov 19 #Javascript
showModelDialog弹出文件下载窗口的使用示例
Nov 19 #Javascript
基于jquery扩展漂亮的CheckBox(自己编写)
Nov 19 #Javascript
jquery showModelDialog的使用方法示例详解
Nov 19 #Javascript
js阻止冒泡及jquery阻止事件冒泡示例介绍
Nov 19 #Javascript
禁止ajax缓存获取程序最新数据的方法
Nov 19 #Javascript
JQueryiframe页面操作父页面中的元素与方法(实例讲解)
Nov 19 #Javascript
You might like
php中截取中文字符串的代码小结
2011/07/17 PHP
通过PHP的Wrapper无缝迁移原有项目到新服务的实现方法
2020/04/02 PHP
encode脚本和normal脚本混用的问题与解决方法
2007/03/08 Javascript
jQuery MD5加密实现代码
2010/03/15 Javascript
jquery 与NVelocity 产生冲突的解决方法
2011/06/13 Javascript
JavaScript实现页面滚动图片加载(仿lazyload效果)
2011/07/22 Javascript
实现web打印的各种方法介绍及实现代码
2013/01/09 Javascript
JavaScript移除数组元素减少长度的方法
2013/09/05 Javascript
JQuery Highcharts 动态生成图表的方法
2013/11/15 Javascript
JS模仿编辑器实时改变文本框宽度和高度大小的方法
2015/08/17 Javascript
浅谈js中调用函数时加不加括号的问题
2016/07/28 Javascript
从零学习node.js之简易的网络爬虫(四)
2017/02/22 Javascript
js禁止Backspace键使浏览器后退的实现方法
2017/09/01 Javascript
JavaScript实现快速排序的方法分析
2018/01/10 Javascript
详解JS转换数值函数Number()、parseInt()、parseFloat()
2018/08/24 Javascript
setTimeout与setInterval的区别浅析
2019/03/23 Javascript
实现vuex与组件data之间的数据同步更新方式
2019/11/12 Javascript
JavaScript前后端JSON使用方法教程
2020/11/23 Javascript
[02:20]DOTA2中文配音宣传片
2013/05/22 DOTA
[04:28]DOTA2亚洲邀请赛小组赛第五日 TOP10精彩集锦
2015/02/03 DOTA
[00:13]天涯墨客二技能展示
2018/08/25 DOTA
Python多线程实现同步的四种方式
2017/05/02 Python
python如何派生内置不可变类型并修改实例化行为
2018/03/21 Python
python实现Windows电脑定时关机
2018/06/20 Python
Python爬虫实现的根据分类爬取豆瓣电影信息功能示例
2019/09/15 Python
Python object类中的特殊方法代码讲解
2020/03/06 Python
Pandas读取csv时如何设置列名
2020/06/02 Python
如何利用python之wxpy模块玩转微信
2020/08/17 Python
python实现简单的五子棋游戏
2020/09/01 Python
关于Python3的import问题(pycharm可以运行命令行import错误)
2020/11/18 Python
医药营销个人求职信
2014/04/12 职场文书
工伤赔偿协议书范本
2014/04/15 职场文书
《有趣的发现》教学反思
2014/04/15 职场文书
办理信用卡收入证明范例
2014/09/13 职场文书
运动会100米广播稿
2015/08/19 职场文书
详解SpringBoot异常处理流程及原理
2021/06/21 Java/Android