JS实现点击切换Checkbox背景图片的简单实例

作者:微光时间:2026-10-22 03:53:59浏览:482

本文介绍如何在网页表单中实现点击切换checkbox背景图片的效果。通过将复选框透明度设为0并替换背景图,可自定义勾选样式。针对jQuery 1.9以下版本可使用toggle()方法,而1.9及以上版本需使用原生JavaScript通过判断状态切换背景图片,同时注意垂直对齐设置。

实现Checkbox背景图片切换

在网页开发中,经常需要实现点击切换背景图片的效果,本文重点讨论表单中checkbox背景图片切换的实现。如图所示,在输入用户名和密码后,用户需要选择是否记住密码。

实现Checkbox背景图片切换

图片背景为白色表示未勾选状态 实现Checkbox背景图片切换,背景为蓝色表示勾选状态 实现Checkbox背景图片切换。

HTML源码如下:


<div class="check">
 <input id="checkbox1" class="checkbox" type="checkbox" checked ="checked" /><label>记住密码</label>
 </div>

其中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背景图片的简单实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持本站。

作者最新文章