基于jquery扩展漂亮的单选按钮——RadioButton

继续分享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();

示例图片:

样式集合图:


脑球网及刚上线的网站:移动电源需要做外链留下联系方式。

下载地址:

js单选框控件

http://www.tiaoceng.com/assemblydetail_31.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值