这篇文章给大家分享的是有关用原生JS实现手风琴导航效果的方法是什么的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。
实现手风琴导航效果的思路:当鼠标点击第一个按钮时,第一个按钮里面的内容显示出来,点击第二个按钮时,第二个按钮里面的内容显示出来,以此类推。在JavaScript中,用for循环遍历有多少个按钮,用if函数判断maxHeight,从而实现按钮内容的显示和隐藏,具体代码如下:
HTML部分:设置三个按钮以及按钮所对应的内容
<h3>手风琴动画效果</h3>
<button class="btn">选项 1</button>
<div class="p1">
<p>内容1</p>
</div>
<button class="btn">选项 2</button>
<div class="p1">
<p>内容2</p>
</div>
<button class="btn">选项 3</button>
<div class="p1">
<p>内容3</p>
</div>
CSS部分:用CSS美化页面和实现简单效果,比如当鼠标经过按钮时颜色变深
.btn {
background-color: #eee;
color: #444;
cursor: pointer;
padding: 18px;
width: 100%;
border: none;
text-align: left;
outline: none;
font-size: 15px;
transition: 0.4s;
}
.btn.active,.btn:hover {
background-color: #ddd;
}
.p1 {
padding: 0 18px;
background-color: white;
max-height: 0;
overflow: hidden;
transition: max-height 0.2s ease-out;
}
JavaScript部分:这是手风琴效果的关键部分,它决定了按钮内容能不能隐藏和显示
var btn = document.getElementsByClassName("btn");
for (var i = 0; i < btn.length; i++) {
btn[i].onclick = function() {
this.classList.toggle("active");
var panel = this.nextElementSibling;
if (panel.style.maxHeight){
panel.style.maxHeight = null;
} else {
panel.style.maxHeight = panel.scrollHeight + "px";
}
}
}
效果如下图所示:
感谢各位的阅读!关于用原生JS实现手风琴导航效果的方法是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。