HTML复选框checkbox美化
文章描述:
使用label结合checkbox,背景图片以及选中进行美化。
html
使用label标签来代替checkbox复选框的背景
<div class="like container">
<div class="checked-ui">
<input class="checked" name="hobby" type="checkbox" checked="checked" value="学习">
<label class="label active"></label>
<span class="ui-tit">学习</span>
</div>
<div class="checked-ui">
<input class="checked" name="hobby" type="checkbox" value="游戏">
<label class="label"></label>
<span class="ui-tit">游戏</span>
</div>
<div class="checked-ui">
<input class="checked" name="hobby" type="checkbox" value="爬山">
<label class="label"></label>
<span class="ui-tit">爬山</span>
</div>
<div class="checked-ui">
<input class="checked" name="hobby" type="checkbox" value="游泳">
<label class="label"></label>
<span class="ui-tit">游泳</span>
</div>
</div>
css
使用css隐藏checkbox,使用label来代替复选框
.checked-ui{display: inline-block; position:relative; margin-right:10px;}
.checked{ display:none;}
.ui-tit{ padding-left:20px;}
.label { display: inline-block; width: 14px; height: 14px; background: url(images/sprite2.png) -84px -102px; cursor: pointer; vertical-align: middle; position:absolute; top:5px; left:0;}
.label.active { background: url(images/sprite2.png) -70px -102px;}
script
当点击复选框是判断状态以及操作对应隐藏的复选框状态
$(".like .checked-ui").on('click',
function() {
var txt = $(this).find('.ui-tit').text();
if ($(this).find('.label').hasClass('active')) {
$(this).find('.label').removeClass('active');
var isCheck = $(this).find('.checked').is(':checked');
if (isCheck) {
$(this).find('.checked').prop({
"checked": false,
});
}
} else {
$(this).find('.label').addClass('active');
var isCheck = $(this).find('.checked').is(':checked');
if (isCheck) {} else {
$(this).find('.checked').prop({
"checked": true,
});
}
}
});
发布时间:2021/08/16
发表评论