用图片替换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 前台切换网站的样式实现
Jun 22 Javascript
jQuery 锚点跳转滚动条平滑滚动一句话代码
Apr 30 Javascript
让JavaScript拥有类似Lambda表达式编程能力的方法
Sep 12 Javascript
利用js动态添加删除table行的示例代码
Dec 16 Javascript
js进行表单验证实例分析
Feb 10 Javascript
ES6概念 Symbol toString()方法
Dec 25 Javascript
简易Vue评论框架的实现(父组件的实现)
Jan 08 Javascript
js变量声明var使用与不使用的区别详解
Jan 21 Javascript
echarts实现词云自定义形状的示例代码
Feb 20 Javascript
深入浅析golang zap 日志库使用(含文件切割、分级别存储和全局使用等)
Feb 19 Javascript
使用vue实现通过变量动态拼接url
Jul 22 Javascript
elementui实现预览图片组件二次封装
Dec 29 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
我的论坛源代码(五)
2006/10/09 PHP
浅析Mysql 数据回滚错误的解决方法
2013/08/05 PHP
php JWT在web端中的使用方法教程
2018/09/06 PHP
ext 代码生成器
2009/08/07 Javascript
Mootools 1.2教程 排序类和方法简介
2009/09/15 Javascript
js修改地址栏URL参数解决url参数问题
2012/12/15 Javascript
等待指定时间后自动跳转或关闭当前页面的js代码
2013/07/09 Javascript
jquery提交form表单时禁止重复提交的方法
2014/02/13 Javascript
JavaScript导出Excel实例详解
2014/11/25 Javascript
javascript实现俄罗斯方块游戏的思路和方法
2015/04/27 Javascript
理解AngularJs指令
2015/12/10 Javascript
基于Angularjs+mybatis实现二级评论系统(仿简书)
2017/02/13 Javascript
详解node.js平台下Express的session与cookie模块包的配置
2017/04/26 Javascript
bootstrap警告框示例代码分享
2017/05/17 Javascript
javascript简单实现深浅拷贝过程详解
2019/10/08 Javascript
在Vue mounted方法中使用data变量详解
2019/11/05 Javascript
vue video和vue-video-player实现视频铺满教程
2020/10/30 Javascript
wepy--用vantUI 实现上弹列表并选择相应的值操作
2020/11/03 Javascript
js简单粗暴的发布订阅示例代码
2021/01/23 Javascript
Python读取properties配置文件操作示例
2018/03/29 Python
Python Series从0开始索引的方法
2018/11/06 Python
python 调用钉钉机器人的方法
2019/02/20 Python
Python Image模块基本图像处理操作小结
2019/04/13 Python
浅析Django 接收所有文件,前端展示文件(包括视频,文件,图片)ajax请求
2020/03/09 Python
pandas.DataFrame.drop_duplicates 用法介绍
2020/07/06 Python
python爬虫要用到的库总结
2020/07/28 Python
德国BA保镖药房中文网:Bodyguard Apotheke
2021/03/09 全球购物
是否有自动比较结构的方法
2015/06/03 面试题
实习自我鉴定
2013/12/15 职场文书
八项规定整改措施
2014/02/12 职场文书
社区工作者感言
2014/03/02 职场文书
求职自我评价范文100字
2014/09/23 职场文书
高中校园广播稿3篇
2014/09/29 职场文书
考察邀请函范文
2015/01/31 职场文书
自荐信格式范文
2015/03/04 职场文书
Java设计模式中的命令模式
2022/04/28 Java/Android