ホームページ  >  記事  >  ウェブフロントエンド  >  jqueryに基づいてカスタマイズされた美しいラジオボタンRadioButton

jqueryに基づいてカスタマイズされた美しいラジオボタンRadioButton

PHP中文网
PHP中文网オリジナル
2017-06-06 16:54:271718ブラウズ

引き続き Web フロントエンド カスタム コントロールを共有します。今日共有したいコントロールはラジオ ボタンです。何か良い提案があれば、メッセージを残していただければ幸いです。コードは次のとおりです。

HTML コードは次のとおりです。

コードをコピーします。 コードは次のとおりです。

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

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(&#39;class&#39;).indexOf(&#39;radio&#39;) == -1) { 
showMessage("控件属性设置有误:部分控件并不是单选项!"); 
return; 
} 
//单选事件 
var click_fun = function (obj) { 
if (obj.parent().attr(&#39;class&#39;) == &#39;radio_txt&#39;) { 
obj.parent().parent().find(&#39;.radio_txt .radio&#39;).removeClass(&#39;checked&#39;); 
} else 
obj.siblings(&#39;.radio&#39;).removeClass(&#39;checked&#39;); 
obj.addClass(&#39;checked&#39;); 
_this.click_callback(); 
}; 
//设置有文字单选项 
if (_obj.attr(&#39;_txt&#39;) != undefined) { 
_obj.each(function (i) { 
var radio = _obj.eq(i); 
radio.wrapAll(&#39;<font class="radio_txt"></font>&#39;); 
//文本单击事件 
radio.parent().append(radio.attr(&#39;_txt&#39;)).click(function () { click_fun(radio); }); 
}); 
} else//对象点击事件 
_obj.unbind(&#39;click&#39;).click(function () { click_fun($(this)); }); 
} 
//点击回调事件 
this.click_callback = function () { } 
}


2. インスタンス化:

コードをコピーします コードは次のとおりです:

//初始化单选框 var radio = new RadioButton(); radio.obj = $(&#39;.radio&#39;); radio.init();

サンプル画像:
jqueryに基づいてカスタマイズされた美しいラジオボタンRadioButton

スタイルコレクション画像:

jqueryに基づいてカスタマイズされた美しいラジオボタンRadioButton

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。