html checkbox复选框更换背景,js实现点击切换checkbox背景图片的简单实例

在制作网页的过程中,经常需要实现点击切换背景图片的效果,本文关注的是表单中checkbox背景图片切换的实现。如图,在输入用户名和密码后,用户需要选择是否记住密码

49908982f973196546201857623a3eaf.png

图片背景为白色表示未勾选状态

4586a267eb69038f237de55e596a3999.png,背景为蓝色表示勾选状态

0453410e0b540724ee478a182e50b806.png

HTML源码如下:

记住密码

其中checkbox 默认为勾选状态。

设置样式,CSS代码如下:

.check{

text-align: right;

font-size:24px;

height: 50px;

width: 150px;

background: url(img/btn_1.png) left center no-repeat;

}

.checkbox{

width:50px;

height: 50px;

vertical-align: middle;

filter:alpha(opacity=0);

-moz-opacity:0;

-khtml-opacity: 0;

opacity: 0;

}

label {

vertical-align: middle;

}

将checkbox透明度设为0,再以背景图片来代替复选框就能得到带有勾选图片的效果。默认为记住密码的勾选状态,btn_1.png 即为背景为蓝色的勾选图片。值得注意的是,将 input 标签与 label 标签同时加上 vertical-align: middle; 属性才能实现文字与复选框垂直居中对齐。

接下来实现单击切换checkbox背景图片的效果,1.9版本以下的 jQuery 里的 toggle() 方法可以直接实现切换:

toggle(objs) {

$(objs).each(function(){

if ($(this).is(':hidden')) $(this).show(); else $(this).hide();

});

}

然而 jQuery 1.9及以上版本已经删除了该方法,因此可以用原生 javascript 来实现,具体代码如下:

$(document).ready(function(){

var flag = 1;

$(".check").click(function(){

if(flag == 1){

$(".check").css("background","url(img/btn_1.png) left center no-repeat");

flag = 0;

} else{

$(".check").css("background","url(img/btn_2.png) left center no-repeat");

flag = 1;

}

})

});

以上这篇js实现点击切换checkbox背景图片的简单实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。