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的对话框详解与参数
Mar 08 Javascript
javascript 写类方式之五
Jul 05 Javascript
jQuery Ajax之$.get()方法和$.post()方法
Oct 12 Javascript
基于jquery实现的移入页面上空文本框时,让它变为焦点,移出清除焦点
Jul 26 Javascript
基于jQuery的获取标签名的代码
Jul 16 Javascript
juery框架写的弹窗效果适合新手
Nov 27 Javascript
jQuery+CSS实现的网页二级下滑菜单效果
Aug 25 Javascript
使用getBoundingClientRect方法实现简洁的sticky组件的方法
Mar 22 Javascript
JS实现星星评分功能实例代码(两种方法)
Jun 09 Javascript
vue router动态路由设置参数可选问题
Aug 21 Javascript
vue+webpack dev本地调试全局样式引用失效的解决方案
Nov 12 Javascript
在vue中实现禁止回退上一步,路由不存历史记录
Jul 22 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
DC动画电影《黑暗正义联盟》曝预告 5月5日上线数字平台
2020/04/09 欧美动漫
兼容性最强的PHP生成缩略图的函数代码(修改版)
2011/01/18 PHP
destoon实现底部添加你是第几位访问者的方法
2014/07/15 PHP
Laravel框架自定义分页样式操作示例
2020/01/26 PHP
javascript与CSS复习(二)
2010/06/29 Javascript
推荐10个2014年最佳的jQuery视频插件
2014/11/12 Javascript
基于jquery实现select选择框内容左右移动添加删除代码分享
2015/08/25 Javascript
浏览器检测JS代码(兼容目前各大主流浏览器)
2016/02/21 Javascript
Vue.js每天必学之计算属性computed与$watch
2016/09/05 Javascript
jQuery Datatable 多个查询条件自定义提交事件(推荐)
2017/08/24 jQuery
bootstrap table支持高度百分比的实例代码
2018/02/28 Javascript
基于Three.js实现360度全景图片
2018/12/30 Javascript
vue项目初始化到登录login页面的示例
2019/10/31 Javascript
小程序实现简单语音聊天的示例代码
2020/07/24 Javascript
Vant 在vue-cli 4.x中按需加载操作
2020/11/05 Javascript
Vue包大小优化的实现(从1.72M到94K)
2021/02/18 Vue.js
Python单链表简单实现代码
2016/04/27 Python
ubuntu环境下python虚拟环境的安装过程
2018/01/07 Python
python统计多维数组的行数和列数实例
2018/06/23 Python
python协程之动态添加任务的方法
2019/02/19 Python
如何用Python制作微信好友个性签名词云图
2019/06/28 Python
Python实现括号匹配方法详解
2020/02/10 Python
移动端HTML5实现文件上传功能【附代码】
2016/03/25 HTML / CSS
Vans荷兰官方网站:美国南加州的原创极限运动潮牌
2018/01/23 全球购物
数控技术应届生求职信
2013/11/13 职场文书
七年级英语教学反思
2014/01/15 职场文书
建筑总经理岗位职责
2014/02/02 职场文书
银行批评与自我批评
2014/02/10 职场文书
幼儿园大班开学教师寄语
2014/04/03 职场文书
驾驶员培训方案
2014/05/01 职场文书
平安校园建设方案
2014/05/02 职场文书
学习之星事迹材料
2014/05/17 职场文书
2015年安全员工作总结范文
2015/04/22 职场文书
纪检监察立案决定书
2015/06/24 职场文书
大学生安全教育主题班会
2015/08/12 职场文书
2016年小学六一儿童节活动总结
2016/04/06 职场文书