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


Posted in Javascript onSeptember 08, 2019

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

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

js实现移动端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>

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

Javascript 相关文章推荐
原生Js实现元素渐隐/渐现(原理为修改元素的css透明度)
Jun 24 Javascript
html的DOM中Event对象onabort事件用法实例
Jan 21 Javascript
整理Javascript事件响应学习笔记
Dec 02 Javascript
基于jquery编写分页插件
Mar 07 Javascript
three.js快速入门【推荐】
Jan 21 Javascript
URL中“#” “?” &amp;“”号的作用浅析
Feb 04 Javascript
详解如何使用webpack在vue项目中写jsx语法
Nov 08 Javascript
JS基于对象的特性实现去除数组中重复项功能详解
Nov 17 Javascript
jQuery中ajax请求后台返回json数据并渲染HTML的方法
Aug 08 jQuery
node中的session的具体使用
Sep 14 Javascript
详解如何为你的angular app构建一个第三方库
Dec 07 Javascript
解决vue侦听器watch,调用this时出现undefined的问题
Oct 30 Javascript
swiper4实现移动端导航切换
Oct 16 #Javascript
Swiper.js实现移动端元素左右滑动
Sep 08 #Javascript
vue实现抖音时间转盘
Sep 08 #Javascript
javascript移动端 电子书 翻页效果实现代码
Sep 07 #Javascript
使用 js 简单的实现 bind、call 、aplly代码实例
Sep 07 #Javascript
vue 使用高德地图vue-amap组件过程解析
Sep 07 #Javascript
vue 的 solt 子组件过滤过程解析
Sep 07 #Javascript
You might like
浅析使用Turck-mmcache编译来加速、优化PHP代码
2013/06/20 PHP
将PHP从5.3.28升级到5.3.29时Nginx出现502错误
2015/05/09 PHP
php验证码生成代码
2015/11/11 PHP
详解PHP中的序列化、反序列化操作
2017/03/21 PHP
javascript div 弹出可拖动窗口
2009/02/26 Javascript
jquery EasyUI的formatter格式化函数代码
2011/01/12 Javascript
javascript中的void运算符语法及使用介绍
2013/03/10 Javascript
QQ空间顶部折页撕开效果示例代码
2014/06/15 Javascript
JS数组的遍历方式for循环与for...in
2014/07/31 Javascript
javascript中的Base64、UTF8编码与解码详解
2015/03/18 Javascript
JavaScript表格常用操作方法汇总
2015/04/15 Javascript
基于React实现表单数据的添加和删除详解
2017/03/14 Javascript
javascript数组拍平方法总结
2018/01/20 Javascript
Vue实现剪贴板复制功能
2019/12/31 Javascript
vue组件中节流函数的失效的原因和解决方法
2020/12/02 Vue.js
Vue 组件注册全解析
2020/12/17 Vue.js
Python中为什么要用self探讨
2015/04/14 Python
python中base64加密解密方法实例分析
2015/05/16 Python
Python3实现将文件树中所有文件和子目录归档到tar压缩文件的方法
2015/05/22 Python
python opencv之SURF算法示例
2018/02/24 Python
python实现求解列表中元素的排列和组合问题
2018/03/15 Python
详谈套接字中SO_REUSEPORT和SO_REUSEADDR的区别
2018/04/28 Python
对Python中list的倒序索引和切片实例讲解
2018/11/15 Python
python mac下安装虚拟环境的图文教程
2019/04/12 Python
使用Python进行体育竞技分析(预测球队成绩)
2019/05/16 Python
Python将主机名转换为IP地址的方法
2019/08/14 Python
Python中常用的高阶函数实例详解
2020/02/21 Python
python利用opencv实现SIFT特征提取与匹配
2020/03/05 Python
最新pycharm安装教程
2020/11/18 Python
全球虚拟主机商:HostGator
2017/02/06 全球购物
2014年计算机专业个人自我评价
2014/01/19 职场文书
护理目标管理责任书
2014/07/25 职场文书
2015年高校图书馆工作总结
2015/04/30 职场文书
诚信考试主题班会
2015/08/17 职场文书
广播稿:校园广播稿范文
2019/04/17 职场文书
vue项目如何打包之项目打包优化(让打包的js文件变小)
2022/04/30 Vue.js