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 相关文章推荐
基础的prototype.js常用函数及其用法
Mar 10 Javascript
用document.documentElement取代document.body的原因分析
Nov 12 Javascript
JS控制文本框textarea输入字数限制的方法
Jun 17 Javascript
javascript一元操作符(递增、递减)使用示例
Aug 07 Javascript
判断滚动条到底部的JS代码
Nov 04 Javascript
js对列表中第一个值处理与jsp页面对列表中第一个值处理的区别详解
Nov 05 Javascript
浅析Javascript使用include/require
Nov 13 Javascript
jQuery中Ajax的load方法详解
Jan 14 Javascript
js实现同一个页面多个渐变效果的方法
Apr 10 Javascript
Webpack优化配置缩小文件搜索范围
Dec 25 Javascript
Vue render渲染时间戳转时间,时间转时间戳及渲染进度条效果
Jul 27 Javascript
vue.js 打包时出现空白页和路径错误问题及解决方法
Jun 26 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
CentOS 6.3下安装PHP xcache扩展模块笔记
2014/09/10 PHP
php简单计算页面加载时间的方法
2015/06/19 PHP
php实现的递归提成方案实例
2015/11/14 PHP
PHP 将数组打乱 shuffle函数的用法及简单实例
2016/06/17 PHP
PHP后台微信支付和支付宝支付开发
2017/04/28 PHP
详解PHP中的8个魔术常量
2020/07/06 PHP
通过JAVASCRIPT读取ASP设定的COOKIE
2007/02/15 Javascript
js动态给table添加/删除tr的方法
2013/08/02 Javascript
js 动态加载事件的几种方法总结
2013/12/25 Javascript
JavaScript实现存储HTML字符串示例
2014/04/21 Javascript
JS实现仿QQ聊天窗口抖动特效
2015/05/10 Javascript
javascript判断回文数详解及实现代码
2017/02/03 Javascript
详解闭包解决jQuery中AJAX的外部变量问题
2017/02/22 Javascript
对vue v-if v-else-if v-else 的简单使用详解
2018/09/29 Javascript
Next.js项目实战踩坑指南(笔记)
2018/11/29 Javascript
JS简单判断是否在微信浏览器打开的方法示例
2019/01/08 Javascript
vue 实现微信浮标效果
2019/09/01 Javascript
用JS实现一个简单的打砖块游戏
2019/12/11 Javascript
JS出现404错误原理及解决方案
2020/07/01 Javascript
addEventListener()和removeEventListener()追加事件和删除追加事件
2020/12/04 Javascript
Python爬虫实现网页信息抓取功能示例【URL与正则模块】
2017/05/18 Python
Python WEB应用部署的实现方法
2019/01/02 Python
python:按行读入,排序然后输出的方法
2019/07/20 Python
Python 实现将数组/矩阵转换成Image类
2020/01/09 Python
Python list运算操作代码实例解析
2020/01/20 Python
PyCharm 2020.1版安装破解注册码永久激活(激活到2089年)
2020/09/24 Python
用 python 进行微信好友信息分析
2020/11/28 Python
scrapy实践之翻页爬取的实现
2021/01/05 Python
报纸媒体创意广告词
2014/03/17 职场文书
手术室护士长竞聘书
2014/03/31 职场文书
献爱心标语
2014/06/21 职场文书
领导班子民主生活会整改措施(工商局)
2014/09/21 职场文书
村当支部个人对照检查材料思想汇报
2014/10/06 职场文书
2014年学校禁毒工作总结
2014/12/23 职场文书
期中考试复习计划
2015/01/19 职场文书
建筑安全员岗位职责
2015/02/15 职场文书