用图片替换checkbox原始样式并实现同样的功能


Posted in Javascript onNovember 15, 2018

1.结构:

<div class="box1">
<input/>

<div class="box2">


<img />

</div>
</div>

2.css里:

1)设置图片的div绝对定位,调整让它与原始input重合。

2)设置input的宽高与图片的div一样大,这样精确一点。

3)然后设置input:position:relative;再设置它的z-index,让它浮在图片那个div的上面。

4)调整两个的位置,让之重合。

5)设置input:opacity:0;

3.jq里:

$(function(){

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



if(this.checked){




$(this).siblings(".box2").find("img").attr("src","被选中的图片的src");



}else{




$(this).siblings(".box2").find("img").attr("src","未被选中的图片的src");



}


})

})

注意:siblings()里面只能有一个属性。不能siblings(".box2>img"),这样是错的。

radio修改默认样式也是同样的道理,但是在jq里就要改一些东西了,

如果想点击第一个radio之后,再点击同一个name的radio,它被选中之后,第一个radio背景变为没选中,而第二个radio背景变为被选中,还用上面的jq里 的代码是不能实现的,会出现第一个选中之后,再点第二个会让两个的背景都是被选中的图片。

所以要在判定是否被选中的时候,加上:

$(function(){

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



$("input").each(function(){




 if(this.checked){





$(this).siblings(".box2").find("img").attr("src","被选中的图片的src");




 }else{





$(this).siblings(".box2").find("img").attr("src","未被选中的图片的src");




 }



})

 })
})

需要遍历一下input

补充:

用图片替换checkbox的样式 

  由于项目的需要,需要在登录的时候保存用户名,就需要使用checkbox。其中的checkbox样式为给定的一张图片,非选中:

用图片替换checkbox原始样式并实现同样的功能

  ,选中:

用图片替换checkbox原始样式并实现同样的功能

开始准备改变checkbox的样式以达到目的,结果无终而返。因为checkbox的大小,样式很难改变,反正打不到我想要的效果。于是试图通过用图片替换checkbox的样式。

主要知识点:

 (1)通过 label 元素内点击图片,就会触发checkbox控件。就是说,当用户选择该标签时,浏览器就会自动将焦点转到和标签相关的checkbox控件上。

<input type="checkbox" class="clsCheckBox" ID="chkRememberPwd"/> 
<label for="chkRememberPwd"><img src="${ctx}/images/more/selector_default.png" width="38" height="38" onclick="checkbox()" /></label>
 //checkbox通过css设置为隐藏
.clsCheckBox{ 
 display:none; 
 }

(2)点击图片时通过JS进行图片的切换。代码如下:

var result = true;
 function checkbox() {
  if (result==true)
 {
 document.images[0].src = "${ctx}/images/more/selector_focus.png";
 result=false;
 }
 else if(result==false)
 {
 document.images[0].src = "${ctx}/images/more/selector_default.png"
 result=true;
 }
 }

登录页面代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns="http://www.w3.org/1999/html">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>用户登录</title>
<script>history.forward();</script>
<script type="text/javascript">
 function func_key(event){
  if (event.keyCode == 13){
    doLogin();
  }
 }
 function cleanup(o){
 o.value = "";
 o.style.textAlign="left";
 }
 var result = true;
 function checkbox() {
  if (result==true)
 {
 document.images[0].src = "${ctx}/images/more/selector_focus.png";
 result=false;
 }
 else if(result==false)
 {
 document.images[0].src = "${ctx}/images/more/selector_default.png"
 result=true;
 }
 }
</script>
<style type="text/css">
.clsCheckBox{ 
 display:none; 
} 
</style>
</head>
<body >
<div id="header">
<div id="headInfo"><span>登录</span></div>
</div>
<form>
<table class="partb" cellspacing="0" cellpadding="0">
  <tr class="partba">
  <td class="partbb">用户名</td>
  <td><input name="userClientNumber" id="userClientNumber" class="partbc" type="text" value="" onfocus="cleanup(this)"/></td>
  </tr>
  <tr class="partbe"></tr> 
  <tr class="partba">
  <td class="partbb">密码</td>
  <td><input name="userPassword" id="userPassword" class="partbc" type="password" value="" onfocus="cleanup(this)" /></td>
  </tr>
  </table>
<table style="width:450px;margin:-20px 15px;padding:0px;" width="480" border="0">
 <tr><td><input type="checkbox" class="clsCheckBox" ID="chkRememberPwd"/>
<label for="chkRememberPwd"><img src="${ctx}/images/more/selector_default.png" width="38" height="38" onclick="checkbox()" /></label>
<span style="padding-left:15px;font-size:24px;color:#999999;vertical-align:top;line-height:38px;">记住用户名</span></td>
 <td style="text-align:right;padding-right:0px;"><a href="modifyPassword!load.action" style="border-bottom: 1px solid #ffa200;"><span style="color:#ffa200;font-size:24px;">找回登录密码</span></a></td>
 </tr>
</table>
<table class="partb" style="margin-top:180px;" border="0">
 <tr>
 <td width="240" align="left" ><div class="bottondiv" ><input class="inputbotton" type="button" onclick="javascript:doLogin();" value="登 录"/></div></td>
 <td width="240" align="left"><div class="bottondiv" ><input class="inputbotton" type="button" onclick="location='register!loadRegister.action'" value="注 册"/></div></td> 
 </tr>
</table>
</form>
</body>
</html>

总结

以上所述是小编给大家介绍的用图片替换checkbox原始样式并实现同样的功能 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jquery 图片Silhouette Fadeins渐显效果
Feb 07 Javascript
js 获取radio按钮值的实例
Aug 17 Javascript
使用javascript实现页面定时跳转总结篇
Sep 21 Javascript
基于jquery实现发送文章到手机的代码
Dec 26 Javascript
Javascript显示和隐藏ul列表的方法
Jul 15 Javascript
详解JavaScript ES6中的Generator
Jul 28 Javascript
jQuery焦点图轮播特效代码分享(3款)
Sep 05 Javascript
前端设计师们最常用的JS代码汇总
Sep 25 Javascript
ionic2懒加载配置详解
Sep 01 Javascript
Angular2+如何去除url中的#号详解
Dec 20 Javascript
js实现弹窗猜数字游戏
Nov 26 Javascript
微信小程序用户授权最佳实践指南
May 08 Javascript
微信小程序swiper实现滑动放大缩小效果
Nov 15 #Javascript
微信小程序页面缩放式侧滑效果的实现代码
Nov 15 #Javascript
详解vue数组遍历方法forEach和map的原理解析和实际应用
Nov 15 #Javascript
微信小程序用户位置权限的获取方法(拒绝后提醒)
Nov 15 #Javascript
判断iOS、Android以及PC端的示例代码
Nov 15 #Javascript
IE8中jQuery.load()加载页面不显示的原因
Nov 15 #jQuery
详解ES6 Fetch API HTTP请求实用指南
Nov 14 #Javascript
You might like
PHP新手NOTICE错误常见解决方法
2011/12/07 PHP
PHP编译安装中遇到的两个错误和解决方法
2014/08/20 PHP
php使用iconv中文截断问题的解决方法
2015/02/11 PHP
PHP命名空间和自动加载类
2016/04/03 PHP
javascript 命名规则 变量命名规则
2010/02/25 Javascript
判断文件是否正在被使用的JS代码
2013/12/21 Javascript
Windows系统中安装nodejs图文教程
2015/02/28 NodeJs
JavaScript通过prototype给对象定义属性用法实例
2015/03/23 Javascript
基于d3.js实现实时刷新的折线图
2016/08/03 Javascript
从对象列表中获取一个对象的方法,依据关键字和值
2017/09/20 Javascript
nodejs+express搭建多人聊天室步骤
2018/02/12 NodeJs
官方推荐react-navigation的具体使用详解
2018/05/08 Javascript
vue.js通过路由实现经典的三栏布局实例代码
2018/07/08 Javascript
Vue+webpack实现懒加载过程解析
2020/02/17 Javascript
JavaScript常用8种数组去重代码实例
2020/09/09 Javascript
vue 二维码长按保存和复制内容操作
2020/09/22 Javascript
vuex的使用步骤
2021/01/06 Vue.js
Python  连接字符串(join %)
2008/09/06 Python
极简的Python入门指引
2015/04/01 Python
使用Python制作获取网站目录的图形化程序
2015/05/04 Python
Python3.6通过自带的urllib通过get或post方法请求url的实例
2018/05/10 Python
Pytorch之finetune使用详解
2020/01/18 Python
Python GUI库PyQt5图形和特效样式QSS介绍
2020/02/25 Python
如何基于Python pygame实现动画跑马灯
2020/11/18 Python
Python如何telnet到网络设备
2021/02/18 Python
个人廉洁自律承诺书
2014/03/27 职场文书
《春到梅花山》教学反思
2014/04/16 职场文书
工程索赔意向书
2014/08/30 职场文书
质量主管工作职责
2014/09/26 职场文书
民政局离婚协议书范本
2014/10/20 职场文书
干部作风建设工作总结
2014/10/29 职场文书
2015年母亲节寄语
2015/03/23 职场文书
2015年读书月活动总结
2015/03/26 职场文书
八年级语文教学反思
2016/03/03 职场文书
苹果M1芯片安装nginx 并且部署vue项目步骤详解
2021/11/20 Servers
PostgreSQL聚合函数介绍以及分组和排序
2022/04/12 PostgreSQL