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弹出层插件简化版代码下载
Oct 16 Javascript
JQuery操作三大控件(下拉,单选,复选)的方法
Aug 06 Javascript
使用jQuery插件创建常规模态窗口登陆效果
Aug 23 Javascript
2014 年最热门的21款JavaScript框架推荐
Dec 25 Javascript
深入理解JavaScript系列(49):Function模式(上篇)
Mar 04 Javascript
基于canvas实现的绚丽圆圈效果完整实例
Jan 26 Javascript
JS实现的驼峰式和连字符式转换功能分析
Dec 21 Javascript
想用好React的你必须要知道的一些事情
Jul 24 Javascript
vue仿element实现分页器效果
Sep 13 Javascript
javascript中可能用得到的全部的排序算法
Mar 05 Javascript
JavaScript中的this妙用实例分析
May 09 Javascript
js 压缩图片的示例(只缩小体积,不更改图片尺寸)
Oct 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函数
2006/10/09 PHP
从C/C++迁移到PHP——判断字符类型的函数
2006/10/09 PHP
8个出色的WordPress SEO插件收集
2011/02/26 PHP
php计算2个日期的差值函数分享
2015/02/02 PHP
PHP中strpos、strstr和stripos、stristr函数分析
2016/06/11 PHP
PHP身份证校验码计算方法
2016/08/10 PHP
接收键盘指令的脚本
2006/06/26 Javascript
通过event对象的fromElement属性解决热区设置主实体的一个bug
2008/12/22 Javascript
jQuery.extend 函数详解
2012/02/03 Javascript
jquery 选择器引擎sizzle浅析
2013/02/06 Javascript
JavaScript设计模式之抽象工厂模式介绍
2014/12/28 Javascript
AngularJS学习第一篇 AngularJS基础知识
2017/02/13 Javascript
利用node.js制作命令行工具方法教程(一)
2017/06/22 Javascript
JS使用贪心算法解决找零问题示例
2017/11/27 Javascript
详解ES6 Fetch API HTTP请求实用指南
2018/11/14 Javascript
vue-cli在 history模式下的配置详解
2019/11/26 Javascript
jQuery操作元素追加内容示例
2020/01/10 jQuery
VSCode launch.json配置详细教程
2020/06/18 Javascript
Vue scoped及deep使用方法解析
2020/08/01 Javascript
在vant 中使用cell组件 定义图标该图片和位置操作
2020/11/02 Javascript
Python脚本在Appium库上对移动应用实现自动化测试
2015/04/17 Python
git进行版本控制心得详谈
2017/12/10 Python
python 字典操作提取key,value的方法
2019/06/26 Python
Room Mate Hotels美国:西班牙酒店品牌
2018/04/10 全球购物
美国高档帽子网上商店:Hats.com
2018/08/09 全球购物
印度最好的在线药品订购网站:PharmEasy
2018/11/30 全球购物
双立人美国官方商店:ZWILLING集团餐具和炊具
2020/05/07 全球购物
一套PHP的笔试题
2013/05/31 面试题
小学母亲节活动方案
2014/03/14 职场文书
思想作风纪律整顿心得体会
2014/09/04 职场文书
酒店管理失职检讨书
2014/09/16 职场文书
发展党员工作情况汇报
2014/10/28 职场文书
2015年中秋节主持词
2015/07/30 职场文书
如何用JavaScipt测网速
2021/05/09 Javascript
教你使用vscode 搭建react-native开发环境
2021/07/07 Javascript
MySQL transaction事务安全示例讲解
2022/06/21 MySQL