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 相关文章推荐
几个javascript操作word的参考代码
Oct 26 Javascript
javascript中的注释使用与注意事项小结
Sep 20 Javascript
js关闭父窗口时关闭子窗口
Apr 01 Javascript
jQuery圆形统计图开发实例
Jan 04 Javascript
js实现完美兼容各大浏览器的人民币大小写相互转换
Oct 29 Javascript
jQuery中delegate()方法的用法详解
Oct 13 Javascript
ionic中的$ionicPlatform.ready事件中的通用设置
Jun 11 Javascript
详解vue 配合vue-resource调用接口获取数据
Jun 22 Javascript
收藏AngularJS中最重要的核心功能
Jul 09 Javascript
JS实现的JSON序列化操作简单示例
Jul 02 Javascript
React中使用UMEditor的方法示例
Dec 27 Javascript
修改Vue打包后的默认文件名操作
Aug 12 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
星际实力自我测试
2020/03/04 星际争霸
PHP5.0对象模型探索之抽象方法和抽象类
2006/09/05 PHP
分页详解 从此分页无忧(PHP+mysql)
2007/11/23 PHP
php $_SERVER windows系统与linux系统下的区别说明
2014/02/14 PHP
windows的文件系统机制引发的PHP路径爆破问题分析
2014/07/28 PHP
PHP中mysql_field_type()函数用法
2014/11/24 PHP
php实现用手机关闭计算机(电脑)的方法
2015/04/22 PHP
两种php给图片加水印的实现代码
2020/04/18 PHP
PHP新建类问题分析及解决思路
2015/11/19 PHP
thinkPHP实现多字段模糊匹配查询的方法
2016/12/01 PHP
php进程(线程)通信基础之System V共享内存简单实例分析
2019/11/09 PHP
浅析PHP echo 和 print 语句
2020/06/30 PHP
漂亮的仿flash菜单,来自蓝色经典
2006/06/26 Javascript
javascript document.images实例
2008/05/27 Javascript
JavaScript 事件对象的实现
2009/07/13 Javascript
ASP中Sub和Function的区别说明
2020/08/30 Javascript
基于Bootstrap+jQuery.validate实现Form表单验证
2014/12/16 Javascript
jQuery三级下拉列表导航菜单代码分享
2020/04/15 Javascript
JavaScript实现cookie的写入、读取、删除功能
2015/11/05 Javascript
JavaScript File API实现文件上传预览
2016/02/02 Javascript
第一章之初识Bootstrap
2016/04/25 Javascript
yarn与npm的命令行小结
2016/10/20 Javascript
Element Table的row-class-name无效与动态高亮显示选中行背景色
2018/11/30 Javascript
Node.js 实现远程桌面监控的方法步骤
2019/07/02 Javascript
Vue-cli3.x + axios 跨域方案踩坑指北
2019/07/04 Javascript
浅析Python中signal包的使用
2015/11/13 Python
深入解析Python中的上下文管理器
2016/06/28 Python
在notepad++中实现直接运行python代码
2019/12/18 Python
Python3运算符常见用法分析
2020/02/14 Python
速卖通欧盟:Aliexpress EU
2020/08/19 全球购物
口腔医学技术应届生求职信
2013/11/09 职场文书
2014年银行柜员工作总结
2014/11/12 职场文书
政协常委会议主持词
2015/07/03 职场文书
优秀志愿者感言
2015/08/01 职场文书
《群青的幻想曲》京力秋树角色PV公开
2022/04/08 日漫
Nginx配置使用详解
2022/07/07 Servers