js实现移动端tab切换时下划线滑动效果

时间:2021-05-26

本篇会放置多种下划线滑动效果,一篇一篇增加,更新中

1、当前 tab 出现下划线的同时,前一个下划线同时消失(出现方向与消失方向保持一致),伴随过渡效果。

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>change tab</title> <style> ul { display: flex; position: absolute; width: 800px; top: 50%; left: 50%; transform: translate(-50%, -50%); list-style: none; } li { position: relative; padding: 20px; color: #000; line-height: 1; transition: 0.2s all linear; cursor: pointer; } li::before { content: ""; position: absolute; top: 0; left: 100%; width: 0; height: 100%; border-bottom: 2px solid #f00; transition: 0.2s all linear; } li:active { background: #000; color: #fff; } .active ~ li::before { left: 0; } .active::before { width: 100%; left: 0; top: 0; } .hover::before{ width: 200%; } </style></head><body> <ul> <li class="active tab" data-index='0'> 张杰 </li> <li class="tab" data-index='1'>周杰伦</li> <li class="tab" data-index='2'>林俊杰</li> <li class="tab" data-index='3'>薛之谦</li> <li class="tab" data-index='4'>你</li> </ul></body><script> var lis = document.getElementsByClassName('tab'); for(var i=0; i<lis.length; i++){ lis[i].onclick = function(){ var that = this; for(var i=0; i<lis.length; i++){ lis[i].classList.remove('active') this.classList.add('active') } } }</script></html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章