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 20 Javascript
推荐40款强大的 jQuery 导航插件和教程(上篇)
Sep 14 Javascript
js 点击页面其他地方关闭弹出层(示例代码)
Dec 24 Javascript
jquery.post用法示例代码
Jan 03 Javascript
动态显示可输入的字数提示还可以输入的字数
Apr 01 Javascript
js加密解密字符串可自定义密码因子
May 13 Javascript
jQuery对val和atrr(&quot;value&quot;)赋值的区别介绍
Sep 26 Javascript
JavaScript学习笔记整理之引用类型
Jan 22 Javascript
jQuery中常用动画效果函数(日常整理)
Sep 17 Javascript
jQuery图片拖动组件Dropzone用法示例
Jan 17 Javascript
js中Number数字数值运算后值不对的解决方法
Feb 28 Javascript
VUE组件中的 Drawer 抽屉实现代码
Aug 06 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
从Web查询数据库之PHP与MySQL篇
2009/09/25 PHP
php中的常用魔术方法汇总
2016/02/14 PHP
php自定义函数实现统计中文字符串长度的方法小结
2017/04/15 PHP
用脚本调用样式的几种方法
2006/12/09 Javascript
JavaScript使用prototype定义对象类型(转)[
2006/12/22 Javascript
Mootools 1.2教程 函数
2009/09/15 Javascript
新鲜出炉的js tips提示效果
2011/04/03 Javascript
js onkeypress与onkeydown 事件区别详细说明
2012/12/13 Javascript
javascript返回顶部的按钮实现方法
2016/01/09 Javascript
JQuery解析XML数据的几个简单实例
2016/05/18 Javascript
你不需要jQuery(三) 新AJAX方法fetch()
2016/06/14 Javascript
手机Web APP如何实现分享多平台功能
2016/08/19 Javascript
jQuery实现动态添加tr到table的方法
2016/12/26 Javascript
JS对象的深度克隆方法示例
2017/03/16 Javascript
Angular2自定义分页组件
2017/04/19 Javascript
vue数据双向绑定的注意点
2017/06/23 Javascript
BootStrap TreeView使用实例详解
2017/11/01 Javascript
express express-session的使用小结
2018/12/12 Javascript
实例介绍JavaScript中多种组合继承
2019/01/20 Javascript
Python图像处理之图片文字识别功能(OCR)
2019/07/30 Python
python sitk.show()与imageJ结合使用常见的问题
2020/04/20 Python
Python连接HDFS实现文件上传下载及Pandas转换文本文件到CSV操作
2020/06/06 Python
Python drop方法删除列之inplace参数实例
2020/06/27 Python
Scrapy实现模拟登录的示例代码
2021/02/21 Python
CSS3选择器新增问题的实现
2021/01/21 HTML / CSS
约瑟夫·特纳男装:Joseph Turner
2017/10/10 全球购物
Python是如何进行类型转换的
2013/06/09 面试题
工商管理系学生的自我评价分享
2013/11/29 职场文书
司仪主持词两篇
2014/03/22 职场文书
教师节活动主持词
2014/04/02 职场文书
研修心得体会
2014/09/04 职场文书
群众路线对照检查材料思想汇报怎么写
2014/09/18 职场文书
社区国庆节活动总结
2015/03/23 职场文书
python 字典和列表嵌套用法详解
2021/06/29 Python
python中urllib包的网络请求教程
2022/04/19 Python
IDEA中sout快捷键无效问题的解决方法
2022/07/23 Java/Android