以lable实现的checkBox如何切换背景和显示隐藏关联区域

本文介绍如何使用纯CSS来实现类似CheckBox的功能,通过切换背景图片来模拟选中与未选中的状态,并结合HTML与JS完成粮票抵扣现金的交互过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

应用场景:在某商城金钱结算的时候,可以用积分抵扣部份现金。效果图如下,分别为未选中状态(默认)和已选中状态。

未选中状态:


已选中状态:


---------------------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------------------

好了,准备一下把lable标签伪装成checkBox的css样式:

.checkedInLable{background-position: left center; background-image: url(../images/checked_is.png); background-repeat: no-repeat; background-size: 25px; padding-left:35px;}
.unCheckedInLable{background-position: left center; background-image: url(../images/checked_un.png); background-repeat: no-repeat; background-size: 25px; padding-left:35px;}
上面两个样式的区别其实只有background-image不同而已哈。

---------------------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------------------

然后是HTML的代码:

        <div id="ticketInfo">
          <input id="payTicket" type="text" style=" width:50px;width: 50px;border: 1px solid #693;border-radius: 5px;vertical-align: middle;line-height: 25px;"/>
             ¥
          <span id="ticketWorth">0</span><br/>
          <span>可用<span id="ownTicket">0</span>粮票</span>
        </div>
        
        <div style="font-size:20px; margin-top:20px;" >
            <label id="lblUseTicket" for="chbUseTicket" class="unCheckedInLable">
            <input id="chbUseTicket" type="checkbox" />
            使用粮票</label>
        </div>

---------------------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------------------

最后就是主菜JS代码了:

$(document).ready(function(){

	$("#chbUseTicket").change(function(){				
		if($(this).is(':checked')){
			alert("选中");
		}else{
			alert("取消选中");
		}
		//显示/隐藏DIV的同时,修改lable的样式
		$('#ticketInfo').toggle("normal", function(){
			$('#lblUseTicket').toggleClass('checkedInLable');
			$('#lblUseTicket').toggleClass('unCheckedInLable');
		});
	});
});

---------------------------------------------------------------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------------------------------------------------------------

咳咳,其实这个呢,是参考了stackoverflowp 这里的。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值