css实现开关,js处理对应事件

1、js中在指定位置动态创建开关的html

$html.find("#id").before($('<div class="switch">'
						+'<input class="switch-checkbox" id="onoffswitch" type="checkbox">'
						+'<label class="switch-label" for="onoffswitch">'
						+'<span class="switch-inner" data-on="ON" data-off="OFF"></span>'
						+'<span class="switch-switch"></span>'
						+'</label>'
					+'</div>'));

2、css中创建对应的开关的样式

.switch {
    position: relative;
    float: left; 
    width: 90px;
    margin: 0;
    -webkit-user-select:none; 
    -moz-user-select:none; 
    -ms-user-select: none;
}
 
.switch-checkbox {
    display: none;
}
 
.switch-label {
    display: block; 
    overflow: hidden; 
    cursor: pointer;
    border: 1px solid #999999; 
    border-radius: 20px;
}
 
.switch-inner {
    display: block; 
    width: 200%; 
    margin-left: -100%;
    transition: margin 0.3s ease-in 0s;
}
 
.switch-inner::before, .switch-inner::after {
    display: block; 
    float: right; 
    width: 50%; 
    height: 30px; 
    padding: 0; 
    line-height: 30px;
    font-size: 14px; 
    color: white; 
    font-family: 
    Trebuchet, Arial, sans-serif; 
    font-weight: bold;
    box-sizing: border-box;
}
 
.switch-inner::after {
    content: attr(data-on);
    padding-left: 10px;
    background-color: #019FE8; 
    color: #FFFFFF;
}
 
.switch-inner::before {
    content: attr(data-off);
    padding-right: 10px;
    background-color: #EEEEEE; 
    color: #999999;
    text-align: right;
}
 
.switch-switch {
    position: absolute; 
    display: block; 
    width: 22px;
    height: 22px;
    margin: 4px;
    background: #FFFFFF;
    top: 0; 
    bottom: 0;
    right: 56px;
    border: 1px solid #999999; 
    border-radius: 20px;
    transition: all 0.3s ease-in 0s;
}
 
.switch-checkbox:checked + .switch-label .switch-inner {
    margin-left: 0;
}
 
.switch-checkbox:checked + .switch-label .switch-switch {
    right: 0px; 
}

3、js中设置开关监听

$("#onoffswitch").on('click', function(){
		if ($("#onoffswitch").is(':checked')) {
			//开关打开对应的操作
		} else {
			//开关关闭对应的操作
		}
	});

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值