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 相关文章推荐
JS隐藏参数post传值实例
Apr 18 Javascript
jQuery之ajax技术的详细介绍
Jun 19 Javascript
javascript实用小函数使用介绍
Nov 11 Javascript
js无刷新操作table的行和列
Mar 27 Javascript
原生js实现类似弹窗抖动效果
Apr 02 Javascript
Bootstrap每天必学之进度条
Nov 30 Javascript
jQuery插件 Jqplot图表实例
Jun 18 Javascript
React Router V4使用指南(精讲)
Sep 17 Javascript
微信小程序+云开发实现欢迎登录注册
May 24 Javascript
JS自定义滚动条效果
Mar 13 Javascript
Element InputNumber 计数器的实现示例
Aug 03 Javascript
vue组件入门知识全梳理
Sep 21 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
PHP header函数分析详解
2011/08/06 PHP
关于IFRAME 自适应高度的研究
2006/07/20 Javascript
Three.js源码阅读笔记(物体是如何组织的)
2012/12/27 Javascript
jQuery动态创建html元素的常用方法汇总
2014/09/05 Javascript
jquery实现鼠标拖拽滑动效果来选择数字的方法
2015/05/04 Javascript
JavaScript中setUTCFullYear()方法的使用简介
2015/06/12 Javascript
jQuery在ie6下无法设置select选中的解决方法详解
2016/09/20 Javascript
bootstrap table实例详解
2017/01/06 Javascript
使用JavaScriptCore实现OC和JS交互详解
2017/03/28 Javascript
详解Angular4中路由Router类的跳转navigate
2017/06/09 Javascript
vue-cli配置flexible过程详解
2019/07/04 Javascript
javascript for循环性能测试示例
2019/08/07 Javascript
javascript设计模式 ? 简单工厂模式原理与应用实例分析
2020/04/09 Javascript
JavaScript 禁止用户保存图片的实现代码
2020/04/28 Javascript
[02:10]探秘浦东源深体育馆 DOTA2 Supermajor不见不散
2018/05/17 DOTA
[41:41]TFT vs Secret Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
[09:13]DOTA2-DPC中国联赛 正赛 Ehome vs Magma 选手采访 1月19日
2021/03/11 DOTA
python实现绘制树枝简单示例
2014/07/24 Python
linux下python抓屏实现方法
2015/05/22 Python
Python设计模式之备忘录模式原理与用法详解
2019/01/15 Python
Python面向对象程序设计之私有变量,私有方法原理与用法分析
2020/03/23 Python
详解css3使用transform出现字体模糊的解决办法
2020/10/16 HTML / CSS
英国经典球衣网站:Classic Football Shirts
2017/05/20 全球购物
为您搜罗全球潮流時尚品牌:HBX
2019/12/04 全球购物
个人授权委托书
2014/04/03 职场文书
毕业生工作求职信
2014/06/30 职场文书
自愿离婚协议书范文2014
2014/10/12 职场文书
2014年团支部工作总结
2014/11/17 职场文书
党支部承诺书
2015/01/20 职场文书
英文自荐信范文
2015/03/25 职场文书
法律意见书范文
2015/06/04 职场文书
2015年国庆节广播稿
2015/08/19 职场文书
详解如何用Python实现感知器算法
2021/06/18 Python
python代码实现备忘录案例讲解
2021/07/26 Python
nginx中封禁ip和允许内网ip访问的实现示例
2022/03/17 Servers
Python docx库删除复制paragraph及行高设置图片插入示例
2022/07/23 Python