自定义样式的单选、多选按钮逻辑
来源:互联网 发布:网页设计软件培训 编辑:程序博客网 时间:2024/05/16 13:42
首选全局声明一个对象,用来储存所有题的答案
var answerData = { 'q1':'', 'q2':''}
单选题
dom结构:
<div class="q1"> <div class="qImg"></div>//选项是否被选中图片 <div class="qBody"> <div class="question">请问您的性别是?</div> <div class="answer"> <div class="coin"></div> <div class="cont single" data-num="q1" data-ans="A">A.男</div> </div> <div class="answer"> <div class="coin"></div> <div class="cont single" data-num="q1" data-ans="B">B.女</div> </div> </div></div>
javascript:
function single(){ var node = $(this).parent().children()[0], nextNode = $(this).parent().children()[1], nodeNum = $(nextNode).attr('data-num'), nodeVal = $(nextNode).attr('data-ans'), bg = node.style.backgroundImage || 'url(coin0.png)', //获取选项的状态,默认为进入页面时的未选择(coin0.png:未选择时的图片样式) isChoice = bg.indexOf('coin0.png'), other = $(this).parent().parent().children('.answer').children('.coin'); $(other).css('background-image', 'url(coin0.png)'); //首先将所有选项重置为未选择 if (isChoice > 0) { $(node).css('background-image', 'url(coin.png)'); answerData[nodeNum] = nodeVal; } else { $(node).css('background-image', 'url(coin0.png)'); answerData[nodeNum] = ''; } //将单选答案存进对象,如果重置前是已选状态则变为未选状态,反之亦然}$('.single').on('click',single);
多选题
dom结构:
<div class="q2"> <div class="qImg"></div> <div class="qBody"> <div class="question">对于七座MPV,您认为您最看重的因素有哪些?(最多选三项)</div> <div class="answer"> <div class="coin"></div> <div class="cont more" data-num="q2" data-ans="A">A.租赁价格</div> </div> <div class="answer"> <div class="coin"></div> <div class="cont more" data-num="q2" data-ans="B">B.空间大小</div> </div> <div class="answer"> <div class="coin"></div> <div class="cont more" data-num="q2" data-ans="C">C.操作性能</div> </div> <div class="answer"> <div class="coin"></div> <div class="cont more" data-num="q2" data-ans="D">D.乘坐舒适度</div> </div> <div class="answer"> <div class="coin"></div> <div class="cont more" data-num="q2" data-ans="E">E.车辆状况</div> </div> <div class="answer"> <div class="coin"></div> <div class="cont more" data-num="q2" data-ans="F">F.油耗大小</div> </div> <div class="answer"> <div class="coin"></div> <div class="cont more" data-num="q2" data-ans="G">G.汽车外观</div> </div> <div class="answer"> <div class="coin"></div> <div class="cont more" data-num="q2" data-ans="H">H.噪音小</div> </div> <div class="answer"> <div class="coin"></div> <div class="cont more" data-num="q2" data-ans="I">I.其他</div> </div> </div> </div>
javascript:
function more(){ var node = $(this).parent().children()[0], nextNode = $(this).parent().children()[1], nodeNum = $(nextNode).attr('data-num'), nodeVal = $(nextNode).attr('data-ans'), bg = node.style.backgroundImage || 'url(coin0.png)', //获取选项的状态,默认为进入页面时的未选择 isChoice = bg.indexOf('coin0.png'), moreArr = answerData[nodeNum]; if (isChoice > 0) { if (moreArr.size < 3) { moreArr.add(nodeVal); answerData[nodeNum] = moreArr; $(node).css('background-image', 'url(coin.png)'); } else { return false; } } else { moreArr.delete(nodeVal); $(node).css('background-image', 'url(coin0.png)'); }}$('.more').on('click',more);
阅读全文
1 0
- 自定义样式的单选、多选按钮逻辑
- 自定义单选按钮(RadioButton)的样式
- 单选-复选按钮自定义样式
- CheckBox 单选按钮自定义样式
- 单选按钮和多选按钮的样式设置
- 单选按钮radio样式的改变
- dialog里面实现自定义样式单选按钮功
- 用Div做到单选按钮radio自定义样式功能
- iOS-按钮单选与多选逻辑处理
- 改变单选按钮radio的默认样式
- HTML单选按钮(Radio)样式更改以及多选按钮(Checkbox)样式更改
- 自定义RadioButton ,单选按钮
- 自定义按钮的样式
- 单选按钮radio-CSS样式
- iCheck:超级精美的自定义复选框 & 单选按钮
- iCheck:超级精美的自定义复选框 & 单选按钮
- iCheck:超级精美的自定义复选框 & 单选按钮
- 高度自定义的 iOS 单选按钮:DLRadioButton
- Webpack配置开发环境和生产环境
- ambari在移动namenode的时候出现两个备用的namnode
- 用visual_studio编写c51单片机程序
- js操作表单
- 开通了CSDN博客
- 自定义样式的单选、多选按钮逻辑
- 函数模板和类模板
- nginx fastcgi cache详解
- Mysql索引实现
- 一些常用的小玩意之dubbo
- 有bug的KMP
- 共用体的应用(判断端序)
- 使用python调用java-jpype
- springboot注解