js实现带三角符的手风琴效果


Posted in Javascript onMarch 01, 2017

效果图:

 js实现带三角符的手风琴效果

图(1)初始图

js实现带三角符的手风琴效果

图(2)点击展开图

代码如下:

<!DOCTYPE html>
<html>
 <head>
 <meta charset="UTF-8">
 <title></title>
 <style>
  *{
  margin: 0;
  padding: 0;
  }
  li{
  list-style: none;
  }
  #list{
  width: 240px;
  border: 1px solid #666;
  margin: 20px auto;
  }
  #list .lis{
  }
  #list h2{
  height: 30px;
  line-height: 30px;
  overflow: hidden;
  background: lightsalmon;
  color: #f1f1f1;
  }
  #list h2.active{
  background: pink;
  height: 30px;
  line-height: 30px;
  overflow: hidden;
  color: #666;
  }
  #list h2.active div{
  display: inline-block;
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-top: 12px solid #666;
  border-right:8px solid transparent;
  border-bottom:2px solid transparent;
  margin-right: 4px;
  }
  #list h2 div{
  display: inline-block;
  width: 0;
  height: 0;
  border-left: 12px solid #f1f1f1;
  border-right: 6px solid transparent;
  border-bottom: 9px solid transparent;
  border-top:9px solid transparent;
  /*margin-right: 3px;*/
  }
  #list .lis ul{
  display: none;
  }
  #list .lis ul li{
  line-height: 24px;
  border-bottom: 1px solid #666;
  text-indent: 15px;
  }
  #list .lis ul li.hover{
  background: lightgreen;
  color: #F8F8F8;
  }
  #list .lis ul li:first-of-type{
  border-top: 1px solid #ccc;
  }
  #list .lis:last-of-type ul li:last-of-type{
  border-bottom:none;
  }
 </style>
 <script>
  window.onload=function(){
  var oUl=document.getElementById('list');
  var aH2=oUl.getElementsByTagName('h2');
  var aUl=oUl.getElementsByTagName('ul');
  var h2Len=aH2.length;
  var aLi=null;
  var arrLi=[];
  var aUlLen=aUl.length;
  for(var i=0;i<h2Len;i++){
   aH2[i].index=i;
   aH2[i].onclick=function(){
   if(this.className=='')
   {
    aUl[this.index].style.display='block';
    this.className='active';
   }
   else{
    aUl[this.index].style.display='none';
    this.className='';
   }
   }
  }
  for(var i=0;i<aUlLen;i++){
   aLi=aUl[i].getElementsByTagName('li');
   for(var j=0;j<aLi.length;j++){
   arrLi.push(aLi[j]);
   }
  }
  for(var i=0;i<arrLi.length;i++){
   arrLi[i].onclick=function(){
   for(var i=0;i<arrLi.length;i++){
    arrLi[i].className='';
   }
   this.className='hover';
   }
  }
  }
 </script>
 </head>
 <body>
 <ul id="list">
  <li class="lis">
  <h2><div></div>大学同学</h2>
  <ul>
   <li>张三</li>
   <li>张三</li>
   <li>张三</li>
   <li>张三</li>
  </ul>
  </li>
  <li class="lis">
  <h2><div></div>高中同学</h2>
  <ul>
   <li>李四</li>
   <li>李四</li>
   <li>李四</li>
   <li>李四</li>
  </ul>
  </li>
  <li class="lis">
  <h2><div></div>初中同学</h2>
  <ul>
   <li>王五</li>
   <li>王五</li>
   <li>王五</li>
   <li>王五</li>
  </ul>
  </li>
 </ul>
 </body>
</html>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
jQuery的三种$()
Dec 30 Javascript
Jquery 点击按钮显示和隐藏层的代码
Jul 25 Javascript
Jquery ajax执行顺序 返回自定义错误信息(实例讲解)
Nov 06 Javascript
IE下Ajax缓存问题的快速解决方法(get方式)
Jan 09 Javascript
JQuery+Ajax无刷新分页的实例代码
Feb 08 Javascript
在JavaScript中使用NaN值的方法
Jun 05 Javascript
AngularJS实现全选反选功能
Dec 08 Javascript
AngularJS 日期格式化详解
Dec 23 Javascript
浅谈jQuery animate easing的具体使用方法(推荐)
Jun 17 Javascript
EasyUI学习之DataGird分页显示数据
Dec 29 Javascript
vue 路由页面之间实现用手指进行滑动的方法
Feb 23 Javascript
JavaScript使用类似break机制中断forEach循环的方法
Nov 13 Javascript
JavaScript拖动层Div代码
Mar 01 #Javascript
vue组件间通信解析
Mar 01 #Javascript
性能优化之代码优化页面加载速度
Mar 01 #Javascript
详解AngularJS通过ocLazyLoad实现动态(懒)加载模块和依赖
Mar 01 #Javascript
Javascript仿京东放大镜的效果
Mar 01 #Javascript
Ajax实现不刷新取最新商品
Mar 01 #Javascript
Angular1.x复杂指令实例详解
Mar 01 #Javascript
You might like
C# Assembly类访问程序集信息
2009/06/13 PHP
开启PHP Static 关键字之旅模式
2015/11/13 PHP
CI(CodeIgniter)框架视图中加载视图的方法
2017/03/24 PHP
PHP通过文件保存和更新信息的方法分析
2019/09/12 PHP
javascript 设计模式之单体模式 面向对象学习基础
2010/04/18 Javascript
extjs tabpanel限制选项卡数量实现思路及代码
2013/04/02 Javascript
原生Js页面滚动延迟加载图片实现原理及过程
2013/06/24 Javascript
jQuery插件实现表格隔行换色且感应鼠标高亮行变色
2013/09/22 Javascript
js动态修改整个页面样式达到换肤效果
2014/05/23 Javascript
JS实现漂亮的时间选择框效果
2016/08/20 Javascript
Webpack 服务器端代码打包的示例代码
2017/09/19 Javascript
jq源码解析之绑在$,jQuery上面的方法(实例讲解)
2017/10/13 jQuery
如何优雅地在vue中添加权限控制示例详解
2019/03/07 Javascript
Vue 进阶之路(三)
2019/04/18 Javascript
微信小程序中weui用法解析
2019/10/21 Javascript
[02:53]DOTA2英雄基础教程 山岭巨人小小
2013/12/09 DOTA
[01:03:36]Ti4 循环赛第三日DK vs Titan
2014/07/12 DOTA
[45:15]Optic vs VP 2018国际邀请赛淘汰赛BO3 第一场 8.24
2018/08/25 DOTA
python执行外部程序的常用方法小结
2015/03/21 Python
Python+django实现简单的文件上传
2016/08/17 Python
基于Django用户认证系统详解
2018/02/21 Python
python tornado微信开发入门代码
2018/08/24 Python
Python3匿名函数lambda介绍与使用示例
2019/05/18 Python
在pycharm中显示python画的图方法
2019/08/31 Python
PyCharm使用之配置SSH Interpreter的方法步骤
2019/12/26 Python
python代码xml转txt实例
2020/03/10 Python
Python configparser模块操作代码实例
2020/06/08 Python
Html5页面二次分享的实现
2018/07/30 HTML / CSS
美国旅游网站:Tours4Fun
2017/02/17 全球购物
纪伊国屋新加坡网上书店:Kinokuniya新加坡
2017/12/29 全球购物
西班牙太阳镜品牌:Hawkers
2018/03/11 全球购物
Lacoste(法国鳄鱼)加拿大官网:以标志性的POLO衫而闻名
2019/05/15 全球购物
40岁生日感言
2014/02/15 职场文书
社区创先争优承诺书
2014/08/30 职场文书
中学生打架检讨书之500字
2019/08/06 职场文书
Pygame Rect区域位置的使用(图文)
2021/11/17 Python