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 相关文章推荐
获取URL地址中的文件名和参数的javascript代码
Sep 02 Javascript
javascript时间自动刷新实现原理与步骤
Jan 06 Javascript
HTML上传控件取消选择
Mar 06 Javascript
用html+css+js实现的一个简单的图片切换特效
May 28 Javascript
浅谈 javascript 事件处理
Jan 04 Javascript
js中this的用法实例分析
Jan 10 Javascript
jQuery实现右侧显示可向左滑动展示的深色QQ客服效果代码
Oct 23 Javascript
javascript事件冒泡简单示例
Jun 20 Javascript
使用jquery给新生的th绑定hover事件的实例
Feb 10 Javascript
bootstrap fileinput 上传插件的基础使用
Feb 17 Javascript
JavaScript无阻塞加载和defer、async详解
Feb 26 Javascript
javascript 跨域问题以及解决办法
Jul 17 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
动画 《Pokemon Sword·Shield》系列WEB动画《薄明之翼》第2话声优阵容公开!
2020/03/06 日漫
php jquery 多文件上传简单实例
2013/12/23 PHP
Win7 64位系统下PHP连接Oracle数据库
2014/08/20 PHP
CodeIgniter针对lighttpd服务器URL重写的方法
2015/06/10 PHP
php实现简易聊天室应用代码
2015/09/23 PHP
解决 FireFox 下[使用event很麻烦] 的问题.
2006/08/22 Javascript
JavaScript常用验证函数实例汇总
2014/11/25 Javascript
JavaScript前补零操作实例
2015/03/11 Javascript
基于jQuery实现的双11天猫拆红包抽奖效果
2015/12/01 Javascript
React 高阶组件入门介绍
2018/01/11 Javascript
基于javascript实现碰撞检测
2020/03/12 Javascript
vue基于Echarts的拖拽数据可视化功能实现
2020/12/04 Vue.js
Python 文件读写操作实例详解
2014/03/12 Python
python使用KNN算法手写体识别
2018/02/01 Python
numpy.where() 用法详解
2019/05/27 Python
pandas的排序和排名的具体使用
2019/07/31 Python
在Django下测试与调试REST API的方法详解
2019/08/29 Python
Python3将jpg转为pdf文件的方法示例
2019/12/13 Python
Python爬虫爬取博客实现可视化过程解析
2020/06/29 Python
详解在Python中使用Torchmoji将文本转换为表情符号
2020/07/27 Python
python编写实现抽奖器
2020/09/10 Python
使用Python解析Chrome浏览器书签的示例
2020/11/13 Python
Python大批量搜索引擎图像爬虫工具详解
2020/11/16 Python
Python3.9最新版下载与安装图文教程详解(Windows系统为例)
2020/11/28 Python
python中lower函数实现方法及用法讲解
2020/12/23 Python
美国排名第一的在线葡萄酒商店:Wine.com
2016/09/07 全球购物
金智子午JAVA面试题
2015/09/04 面试题
发展部经理职责规定
2014/02/22 职场文书
工程承包协议书
2014/04/22 职场文书
企业文化口号
2014/06/12 职场文书
税务干部群众路线教育实践活动自我剖析材料
2014/09/21 职场文书
企业法人代表证明书
2014/09/27 职场文书
2015年质量管理工作总结范文
2015/05/18 职场文书
导游词之茶卡盐湖
2019/11/26 职场文书
CSS3 制作的图片滚动效果
2021/04/14 HTML / CSS
使用Springboot实现健身房管理系统
2021/07/01 Java/Android