基于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 简单应用示例总结
Aug 09 Javascript
jquery禁止回车触发表单提交
Dec 12 Javascript
全面了解构造函数继承关键apply call
Jul 26 Javascript
jquery 动态增加删除行的简单实例(推荐)
Oct 12 Javascript
浅析如何利用angular结合translate为项目实现国际化
Dec 08 Javascript
ES6新特性一: let和const命令详解
Apr 20 Javascript
微信JSSDK调用微信扫一扫功能的方法
Jul 25 Javascript
Vue打包后出现一些map文件的解决方法
Feb 13 Javascript
详解ESLint在Vue中的使用小结
Oct 15 Javascript
详解基于Vue/React项目的移动端适配方案
Aug 23 Javascript
vue elementui 实现搜索栏公共组件封装的实例代码
Jan 20 Javascript
利用uni-app生成微信小程序的踩坑记录
Apr 05 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
第九节 绑定 [9]
2006/10/09 PHP
php5中date()得出的时间为什么不是当前时间的解决方法
2008/06/30 PHP
vs中通过剪切板循环来循环粘贴不同内容
2011/04/30 PHP
php中使用parse_url()对网址进行解析的实现代码(parse_url详解)
2012/01/03 PHP
php Calender(日历)代码分享
2014/01/03 PHP
php中使用sftp教程
2015/03/30 PHP
php使用pecl方式安装扩展操作示例
2019/08/12 PHP
Laravel 框架返回状态拦截代码
2019/10/18 PHP
基于jquery的固定表头和列头的代码
2012/05/03 Javascript
JS文本框默认值处理详解
2013/07/10 Javascript
Node.js实现简单聊天服务器
2014/06/20 Javascript
手机端页面rem宽度自适应脚本
2015/05/20 Javascript
在JS中操作时间之getUTCMilliseconds()方法的使用
2015/06/10 Javascript
JS 动态加载js文件和css文件 同步/异步的两种简单方式
2016/09/23 Javascript
bootstrap+jQuery 实现下拉菜单中复选框全选和全不选效果
2017/06/12 jQuery
Vue中CSS动画原理的实现
2019/02/13 Javascript
微信小程序textarea层级过高(盖住其他元素)问题的解决办法
2019/03/04 Javascript
vue项目移动端实现ip输入框问题
2019/03/19 Javascript
小程序实现订单倒计时功能
2019/04/23 Javascript
[06:53]2018DOTA2国际邀请赛寻真——勇于创新的Vici Gaming
2018/08/14 DOTA
python根据距离和时长计算配速示例
2014/02/16 Python
用Python程序抓取网页的HTML信息的一个小实例
2015/05/02 Python
Python中用于检查英文字母大写的isupper()方法
2015/05/19 Python
使用pyinstaller逆向.pyc文件
2019/12/20 Python
django-利用session机制实现唯一登录的例子
2020/03/16 Python
德国百年厨具品牌WMF美国站:WMF美国
2016/09/12 全球购物
芬兰灯具网上商店:Nettilamppu.fi
2018/06/30 全球购物
Topshop美国官网:英国快速时尚品牌
2019/05/16 全球购物
中国旅游网站:途牛旅游网
2019/09/29 全球购物
化工专业应届生求职信
2013/11/08 职场文书
保密工作实施方案
2014/02/24 职场文书
大学班级计划书
2014/04/29 职场文书
文秘专业应届生求职信
2014/05/26 职场文书
发言稿之优秀教师篇
2019/09/26 职场文书
详解JavaScript中的执行上下文及调用堆栈
2021/04/29 Javascript
源码解读Spring-Integration执行过程
2021/06/11 Java/Android