ツイッターでこの「初めてのブログhttps://hajimete.org」のURLでエゴサすることがあるんですが、数時間前に話題に上げてもらえたので速攻で作った雑なUIと整合性が取れる雑なチェックボックス(複雑すぎない)をご紹介します!
①ちょっと雑なトグルボタン
HTML
<label class="t"> <input type="checkbox" name="" /> <span>on</span><span>off</span> </label>
CSS
.t input {display: none;} .t span { display: inline-block; width: 46px; text-align: center; padding: 4px 0; color: #000; border: 1px solid #000; cursor: pointer; } .t span:hover {opacity: .3;} .t span:nth-of-type(2) { background: #000; color: #fff; } .t.chkd span:nth-of-type(1) { background: #000; color: #fff; } .t.chkd span:nth-of-type(2) { background: #fff; color: #000; }
jQuery
$(".t span").on("click", function() { // on/off切り替え $(".t").toggleClass("chkd"); // onになったら if($(".t").hasClass("chkd")) {// チェックボックス チェック $(".t input").prop("checked", true); } else {// チェックボックス ノーチェック $(".t input").prop("checked", false); } });
②超雑なトグルボタン
HTML
<label class="t"> <input type="checkbox" name="" /> <span>on</span><span>off</span> </label>
CSS
.t input {display: none;} .t span { display: inline-block; color: blue; cursor: pointer; } .t span:nth-of-type(2) { color: red; margin-left: 12px; } .t.chkd span:nth-of-type(1) {color: red;} .t.chkd span:nth-of-type(2) {color: blue;}
jQuery
$(".t span").on("click", function() { $(".t").toggleClass("chkd"); if($(".t").hasClass("chkd")) { $(".t input").prop("checked", true); } else { $(".t input").prop("checked", false); } });
③超超雑なトグルボタン
HTML
<label class="t"> <input type="checkbox" name="" /> <span>〇</span><span>×</span> </label>
CSS
.t input {display: none;} .t span {cursor: pointer;} .t span:nth-of-type(2) {color: red;} .t.chkd span:nth-of-type(1) {color: red;} .t.chkd span:nth-of-type(2) {color: black;}
jQuery
$(".t span").on("click", function() { $(".t").toggleClass("chkd"); if($(".t").hasClass("chkd")) { $(".t input").prop("checked", true); } else { $(".t input").prop("checked", false); } });
話題に上げてくれて嬉しい!
twitterでもなんでも話題に上げてもらえるのは嬉しい。
ありがとうございます!!
一応コードの説明をしますね!
CSSで「input」を消して、チェック機能だけ持たせます。
それで、ボタンが押されたらjQueryで消えた「input」のチェック機能をonしたり、offしたりしてます。
以上!
コメント