这篇文章主要介绍了怎么使用js实现带三角符的手风琴效果,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
效果图:
图(1)初始图
图(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 h3{
height: 30px;
line-height: 30px;
overflow: hidden;
background: lightsalmon;
color: #f1f1f1;
}
#list h3.active{
background: pink;
height: 30px;
line-height: 30px;
overflow: hidden;
color: #666;
}
#list h3.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 h3 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;
}
#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('h3');
var aUl=oUl.getElementsByTagName('ul');
var h3Len=aH2.length;
var aLi=null;
var arrLi=[];
var aUlLen=aUl.length;
for(var i=0;i<h3Len;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">
<h3><div></div>大学同学</h3>
<ul>
<li>张三</li>
<li>张三</li>
<li>张三</li>
<li>张三</li>
</ul>
</li>
<li class="lis">
<h3><div></div>高中同学</h3>
<ul>
<li>李四</li>
<li>李四</li>
<li>李四</li>
<li>李四</li>
</ul>
</li>
<li class="lis">
<h3><div></div>初中同学</h3>
<ul>
<li>王五</li>
<li>王五</li>
<li>王五</li>
<li>王五</li>
</ul>
</li>
</ul>
</body>
</html>
感谢你能够认真阅读完这篇文章,希望小编分享的“怎么使用js实现带三角符的手风琴效果”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网行业资讯频道,更多相关知识等着你来学习!