用途
新着
履歴
言語

  • GoogleAppsScript
  • Git

jQuery スライドスイッチ

jQuery スライドスイッチ
jQuery スライドスイッチ
スマホの設定などでよく見かけるスライドしてスイッチをON/OFFするUIのサンプルです。

右にスライドするとON、左に戻すとOFFになるデザインをCSSだけで形と動きを実装しています。

以下のスワイプではなく、スイッチ全体をタップするだけで、切り替わる簡単実装です。

おまけでキーボードの←ボタン、→ボタンでも動くよう実装でしています。


OFF

切り替えをクラスの付け外しで実装しているので、連動して動く部分はhasClassメソッドで連動しています。

JSのサンプルはこちら

$(document).ready(function(){
	val();

	$("#demo_stage").click(function(){
		$(this).toggleClass("act");
		val();
	});

	$(window).keydown(function (e) {
		if(e.keyCode=='39'){
			$("#demo_stage").addClass("act");
		}else if(e.keyCode=='37'){
			$("#demo_stage").removeClass("act");
		}
		val();
	});

	function val(){
		if($("#demo_stage").hasClass("act")){
			$("#demo_val").text('ON');
			$("#demo_val").addClass("act");
		}else{
			$("#demo_val").text('OFF');
			$("#demo_val").removeClass("act");
		}
	}
});

CSSはこちら

#demo_stage{
	border: solid 1px #CCC;
	width: 300px;
	height: 60px;
	border-radius: 30px;
    box-shadow: 2px 2px 5px rgba(0,0,0,0.4) inset;
    background-color: #FEE;
    transition: all 300ms 0s ease;
}
#demo_stage.act{
    background-color: #EEF;
    transition: all 300ms 0s ease;    
}
#demo_stage.act .block{
	left:240px;
    transition: all 300ms 0s ease;
}

.block { 
    transition: all 300ms 0s ease;
    position: relative; 
    background-color: #CCC;
	border: solid 1px #EEE;
	box-sizing: border-box;
    left: 0px;
    width: 60px; 
    height: 60px;
	border-radius: 30px;
    box-shadow: 2px 2px 5px rgba(0,0,0,0.4);
}

#demo_val{
	clear: both;
	position: relative;
	border-radius: 10px;
    background-color: #CCC;
    width: 100px;
	margin: 10px 100px;
	text-align: center;
	line-height: 20px;
	height: 20px;
	font-size: 12px;
	color: #666;
}
#demo_val.act{
    background-color: #CFC;
	color: #6C6;
}

よくスマホの設定画面で採用されるUIなので、ユーザーフレンドリーな表現と判断してもよさそうです。

2019-08-03 23:00:36
LINEでシェア
このページの二次元コード

関連するサンプル

search -  category -  about
© 2019 kipure
Top