博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
最简单的可取消多选效果(以从水果篮中挑选水果为例)【jsDEMO】
阅读量:7057 次
发布时间:2019-06-28

本文共 2246 字,大约阅读时间需要 7 分钟。

【功能说明】

  最简单的可取消多选效果(以从水果篮中挑选水果为例)

【html代码说明】

  • 苹果
  • 葡萄
  • 香蕉
  • 青梅
  • 桔子

 

【css重点代码说明】

//设置展示框中乳白色文字效果.out{    width: 300px;    height:30px;    line-height: 50px;    padding: 10px;    text-align: center;    border: 1px solid #ccc;    border-radius: 5px;    font-size: 20px;    color: #f1ebe5;    text-shadow: 0 8px 9px #c4b59d, 0px -2px 1px #fff;    font-weight: bold;    background: linear-gradient(to bottom, #ece4d9 0%,#e9dfd1 100%);    vertical-align: middle;}//水果篮显示效果.list,.list_hid{    height: 50px;    line-height: 50px;    margin-top: 20px;    overflow: hidden;    text-align: center;    background-color: #ccc;    border-radius: 10px;    transition: 500ms height;}//水果篮隐藏效果.list_hid{    height: 0;}

 

【js代码说明】

//获取整个盒子var oBox = document.getElementById('box');//获取按钮var oBtn = oBox.getElementsByTagName('button')[0];//获取展示框var oOut = oBox.getElementsByTagName('input')[0];//获取水果篮子var oList = oBox.getElementsByTagName('ul')[0];//获取水果篮子里面的所有水果var aIn = oList.getElementsByTagName('li');//给按钮绑定事件oBtn.onclick = function(){    //若list的className为list,说明此时水果篮子处于打开状态    if(oList.className == 'list'){        //更改其className为list_hid,关闭水果篮子        oList.className = 'list_hid';        //设置文字显示为打开我的水果篮子        this.innerHTML = '打开我的水果篮子';    //此时水果篮子处于关闭状态    }else{        //更改其className为list,打开水果篮子        oList.className = 'list';        //设置文字显示为合上我的水果篮子        this.innerHTML = '合上我的水果篮子';    }}for(var i = 0; i < aIn.length; i++){    //给每个水果添加标记,默认为false,表示未被选中    aIn[i].mark = false;    //给每个水果添加事件    aIn[i].onclick = function(){        //当水果选中时,取消选中;当水果未选中时,将其选中        this.mark = !this.mark;        //若该水果选中,则文字颜色变为亮灰色        if(this.mark){            this.style.color = '#ccc';        //若未选中,则文字颜色为黑色            }else{            this.style.color = 'black';        }        //运行展示框函数        fnOut();    }}//设置展示框函数function fnOut(){    //设置临时字符串,来存储展示框要显示的值    var str = '';    for(var i = 0; i < aIn.length; i++){        //当该水果被选中时        if(aIn[i].mark){            //将其innerHTML添加到临时字符串中            str += ',' + aIn[i].innerHTML;        }    }    //再将最开始第一个水果前的逗号去掉    oOut.value = str.slice(1);};

 

【效果展示】

 

转载地址:http://qarol.baihongyu.com/

你可能感兴趣的文章
solr部署
查看>>
Linux命令之umask
查看>>
浏览器对象的各种宽高
查看>>
python学习笔记--虫师
查看>>
802.1x登录认证
查看>>
我的友情链接
查看>>
Cobbler无人值守安装
查看>>
××× 专线
查看>>
怎样在 ubuntu 上安装 Linux 3.11 内核
查看>>
Citrix XenApp Lic指向设置
查看>>
移动视频技术
查看>>
U盘安装Linux系统Centos5.x中遇到的问题及解决方案
查看>>
P1063 能量项链(区间dp)
查看>>
centos6 内核优化
查看>>
Linux安装gitlab
查看>>
十四条令PHP初学者头疼问题大总结(1)
查看>>
MySQL的备份与还原
查看>>
加密U盘专业加密芯片方案
查看>>
js比较字符数组元素是否重复
查看>>
码客Online:HTC Zoe是什么功能?
查看>>