js自定义修改复选框单选框样式,清除复选框单选框默认样式
来源:互联网 发布:淘宝商品商家流程 编辑:程序博客网 时间:2024/06/05 19:10
之前做项目的时候,也遇到过需要按照设计稿把<input type="checkbox">
和<input type="radio">
的默认样式进行修改,但发现,并没有可以重置效果的方法,之前用过-webkit-appearance的方法,但是这个只在webkit内核的浏览器里面生效,火狐不生效。
所以自己写了个js,用li来模拟复选框和单选框的效果,很简单,7行就行。
效果图:
涉及到的知识点:自定义属性来存储点击状态和原来的class名
html内容:
<div id="box"> <p>你最喜欢的运动</p> <ul> <li>爬山</li> <li>骑车</li> <li>游泳</li> <li class='hong'>篮球</li> <li class='hong'>足球</li> <li>羽毛球</li> <li>跳绳</li> <li>跑步</li> </ul></div>
js内容:
注释比较多,是为了说明清楚,可能有点乱,能看懂的可以把注释删掉
var aLi = document.querySelectorAll('#box ul li'); /*获取所有的li,如果要用class获取,可写成document.querySelectorAll('.class')*/for (var i=0;i<aLi.length;i++ ){ aLi[i].ifCheck = false; /*自定义属性用来表示有没有被选中,初始化设置成false,未选中*/ aLi[i].nowClass = aLi[i].className; /*自定义属性用来存储最初的className,例如html内容里的class名,hong,这样在后面添加on的class名之后,不会导致原来的class名直接被覆盖*/ aLi[i].onclick = function(){ if(this.ifCheck){ /*当点击当前li时,如果ifCheck是已经被选中状态*/ this.className = this.nowClass /*则让当前点击的li的class名等于最初的名字,也就是说把选中的on的class名去掉*/ }else{ this.className += ' on' /*如果是未选中状态,则加上on,表示被选中*/ } /*可写成三目样式 this.className = this.ifCheck?this.nowClass:this.className+' on';*/ this.ifCheck = !this.ifCheck; /*一开始未选中,点击之后变成选中,不然相反,所以要给ifCheck的属性取反*/ };};
css样式:
#box{ width:600px; margin:50px auto;}#box p{ font-size:14px; font-weight:bold; border-bottom:1px dashed #000; line-height:30px;}#box ul{ margin-top:10px; overflow:hidden;}#box ul li{ width:67px; height:20px; float:left; background-image:url(images/ck.png); /*未选中时候的背景图*/ background-repeat:no-repeat; font-size:12px; line-height:20px; text-indent:30px; margin-right:8px; cursor:pointer;}#box ul li.on{ background-image:url(images/cked.jpg); /*选中时候的背景图*/}#box ul li.hong{ color:red;}
本博客原创文章,若要转载,请注明出处
有问题或者有错误的地方,可以留言,咱们讨论一下
1 0
- js自定义修改复选框单选框样式,清除复选框单选框默认样式
- 修改复选框默认样式
- 修改复选框默认样式
- 自定义复选框,复选框样式修改,重写复选框
- 自定义复选框,复选框样式修改,重写复选框
- HTML复选框checkbox默认样式修改
- 自定义复选框样式
- 自定义复选框样式
- 自定义复选框样式
- input 复选框单选框样式美化
- QTreeView 复选框样式修改
- 自定义复选框checkbox样式
- css修改单选框与复选框样式
- 单选-复选按钮自定义样式
- 纯css3自定义复选框checkbox样式
- Jquery实现自定义复选框样式
- 自定义单选/复选框样式
- 单选 复选框自定义样式
- java初学基础班经典练手小程序300例
- 2016网络程序设计:机器学习 总结
- ABAP创建事务码
- iOS多线程同步异步、串行并发浅析
- Java 基本数据类型
- js自定义修改复选框单选框样式,清除复选框单选框默认样式
- java总结复习
- [OGRE]基础教程来四发:来谈一谈地形系统
- 第一篇 报到
- 基于Project的项目管理(二)进度计划的执行与监控
- 统计字符
- Linux 下安装 jdk-7u75-linux-x64.gz,jdk1.7.0_75
- iOS-按钮60s倒计时
- 认识 Atlassian Datacenter 产品