原生js实现导航条动画

2023-10-31

原生js实现毛毛虫导航

直接上代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<title></title>
		<style type="text/css">
			* {
				margin: 0;
				padding: 0;
			}

			ul {
				position: relative;
				width: 700px;
				margin: 100px auto;
				padding: 20px;
				display: flex;
				justify-content: space-around;
				border: 1px solid aqua;
			}

			ul>li {
				list-style: none;
			}

			p {
				position: absolute;
				width: 40px;
				height: 6px;
				background: red;
				border-radius: 12px;
				bottom: 0;
				left: 0;
			}
		</style>
	</head>
	<body>
		<ul>
			<li>加油骚年</li>
			<li>头脑清楚</li>
			<li>每天学习js巩固</li>
			<li>js永远的神</li>
			<li>太喜欢js了</li>
			<li>敲js代码使自己快乐</li>
			<p></p>
		</ul>

	</body>
</html>


<script type="text/javascript">
	var li = document.querySelectorAll('li')
	var p = document.querySelectorAll('p')
	
	//点击改变
	for (var i = 0; i < li.length; i++) {
		li[i].addEventListener('click', function(e) {
			p[0].style.left = (this.offsetLeft + this.offsetWidth / 2 - p[0].offsetWidth / 2) + 'px' //计算滑块位置
			//点击获取当前li的位置然后赋值给下面滑块
			p[0].style.transition = 'all 0.3s'
			//设置过渡动画效果
			
		})
	}
	
	//首次加载让滑块去第一个li下面
	(function fn() {
		p[0].style.left = (li[0].offsetLeft + li[0].offsetWidth / 2 - p[0].offsetWidth / 2) + 'px'
	})()
</script>

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

原生js实现导航条动画 的相关文章

  • 将 GMT 时间转换为当地时间

    我以这种格式从我的服务器获取 GMT 时间 Fri 18 Oct 2013 11 38 23 GMT 我的要求是使用Javascript将此时间转换为本地时间 例如 如果用户来自印度 首先我需要采用时区 5 30并将其添加到我的服务器时间并
  • 设置 cookie 时中断 JavaScript 执行

    当设置 cookie 时 是否可以始终中断浏览器开发人员工具中的 javascript 执行 无需显式设置 JS 断点 document cookie 在 html head 块的开头添加此代码片段效果很好
  • 如何选择具有“A”类但不具有“B”类的 div?

    我有一些 div div class A Target div div class A B NotMyTarget div div class A C NotMyTarget div div class A D NotMyTarget di
  • 尝试将数据存储在点击器网站中

    我正在尝试存储一个名为的变量score无论何时刷新 您都会一次又一次地使用它 我不明白的是它的代码是什么 我尝试了一些方法 但似乎都不起作用 这是我的答题器网站 但是当我尝试使用 JavaScript 来存储它时 它不起作用window o
  • 使用 CSS 或 Javascript 填充动画

    我只是想知道是否可以使用 CSS 或 javascript 创建填充动画 基本上我想创建一个填充动画 如下图所示 http i40 tinypic com eit6ia png http i40 tinypic com eit6ia png
  • 刷新页面时保存用户的选择

    我目前有一个页面显示不同团队的数据 我有一些数据 用户可以单击使其处于 打开 或 关闭 状态 并为每个数据显示不同的图标 它基本上就像一个清单 只是没有物理复选框 我想记住哪些 复选框 已被选中 即使在用户刷新页面或关闭浏览器并稍后返回之后
  • 有没有办法在 onclick 触发时禁用 iPad/iPhone 上的闪烁/闪烁?

    所以我有一个有 onclick 事件的区域 在常规浏览器上单击时 它不会显示任何视觉变化 但在 iPad iPhone 上单击时 它会闪烁 闪烁 有什么办法可以阻止它在 iPad iPhone 上执行此操作吗 这是一个与我正在做的类似的示例
  • 不可勾选的单选按钮与专有的复选框

    从 UI 角度来看 是拥有一组具有取消选中功能的单选按钮更好 还是拥有一组独占的复选框 意味着一次只能选中一个 更好 Update 我没想到对此会有如此负面的反应 如果我给出一个更接近其使用方式的示例 也许会有所帮助 我有一个充满数据绑定内
  • 图像背景不透明度不影响边框

    如何设置背景不透明度而不影响边框线不透明度 我找到的解决方案没有帮助 div class selected img src assets img image product 1 thumbnail jpg alt product 1 thu
  • Vuejs 2:去抖动不适用于手表选项

    当我在 VueJs 中反跳此函数时 如果我提供毫秒数作为原语 它就可以正常工作 但是 如果我将其提供为对 prop 的引用 它会忽略它 这是道具的缩写版本 props debounce type Number default 500 这是不
  • 从数据库检查数据的异步解决方案各种循环子句

    我想要做的是异步检查数据库并从中获取结果 在我的应用程序中我试图实现Asynchronously将此步骤解决为 从数据库中检查手机号码JsonArray循环子句的种类 Create JsonArray从结果 打印创建的数组 我学到了足够多的
  • 如何创建适合屏幕宽度的等宽/高框? [复制]

    这个问题在这里已经有答案了 我正在尝试建立一个网站 其中有很多宽度和高度相等的框 例如 我有一个页面 其中并排有两个相同大小的框 简单的解决方案是将宽度和高度设置为 50vw 这在出现滚动条之前效果很好 我已经用谷歌搜索了几个小时 但无法理
  • 使用 Vue 的多模式组件

    我在 Vue 中实现动态模式组件时遇到问题 A common approach I follow to display a set of data fetched from the db is I dump each of the rows
  • 使用css bootstrap时如何仅向一列添加右边框?

    我正在尝试使用CSS引导框架 http getbootstrap com css tables在我的项目中 我正在使用带有以下类的表table table bordered table striped 我想删除除第一列之外的所有列的边框 这
  • 如何使用 crypto-js 解密 AES ECB

    我正在尝试将加密数据从 flash 客户端 发送到服务器端的 javascript 在 asp 中作为 jscript 运行 有几个 javascript Aes 库 但它们实际上没有文档记录 我正在尝试使用 crypto js 但无法让代
  • 如何隐藏/禁用 Highcharts.js 中的图例框?

    我想问是否可以使用 HighCharts js 库隐藏图表中的所有图例框 var chart object chart renderTo render to type graph type colors graph colors title
  • Javascript - 水波纹效果

    我需要 JS 上的脚本 它将以 水波纹 样式更改 images html 抱歉 6MB GIF 文件 http fcuunited ru temp listening2 gif http fcunited ru temp listening
  • 如何确定所有角度2分量都已渲染?

    当所有 Angular2 组件完成渲染时 是否会触发一个角度事件 For jQuery 我们可以用 function 然而 对于 Angular2 当domready事件被触发 html 只包含角度组件标签 每个组件完成渲染后 domrea
  • 如何在执行新操作时取消先前操作的执行?

    我有一个动作创建器 它会进行昂贵的计算 并在每次用户输入内容时调度一个动作 基本上是实时更新 但是 如果用户输入多个内容 我不希望之前昂贵的计算完全运行 理想情况下 我希望能够取消执行先前的计算并只执行当前的计算 没有内置功能可以取消Pro
  • 如何使用asm.js进行测试和开发?

    最近我读到asm js规范 看起来很酷 但是是否有任何环境 工具来开发和测试这个工具 这还只是处于规范阶段吗 您可以尝试使用 emscripten 和 ASM JS 1 并从侧分支在 firefox 构建中运行它 有关 asm js 的链接

随机推荐

  • Java EnumMap values()方法具有什么功能呢?

    转自 Java EnumMap values 方法具有什么功能呢 下文笔者讲述EnumMap values 方法的功能简介说明 如下所示 EnumMap values 方法的功能 返回一个Collection 此集合中存储EnumMap中的
  • 如何阅读英文文献,有哪些高效的方法或者辅助工具?

    每日一问 如何阅读英文文献 有哪些高效的方法或者辅助工具 Datawhale优秀回答者 追风者 方法 先是通读文献综述 理解专业术语和基本概念 起初时应以泛读为主 再研读自己研究领域的经典论文50篇 确定研究方向之后 要以精读为主 要做到边
  • 线性代数 计算机网络,计算机应用、计算机网络专业《线性代数》课程.doc

    2006级函授建筑工程 计算机应用 计算机网络专业 线性代数 课程 自 学 指 导 和 自 学 进 度 表 一 课程的目的 任务和要求 本课程是为培养建筑工程 计算机应用 计算机网络及工程等专业人才而设置的一门必修的重要基础理论课 作为信息
  • 【Redis】举例让你快速理解!Redis数据结构与命令(更新中)

    Redis 数据存内存 C语言实现 单线程架构 基于键值对 值可以为字符串 哈希 列表 集合 有序集合 键过期功能实现缓存 流水线功能减少网络开销 持久化 数据内存 gt 磁盘 主从复制 数据多副本 高可用 故障发现与自动转移 分布式 奇数
  • typescript 扩展第三方库类型,添加属性成员

    preface 之前在使用 axios 的时候 需要在 AxiosRequestConfig 中添加自定义属性 比如说 配置是否使用 loading 效果 配置 业务报错是否 自动提示 我选择了通过过 扩展接口 然后自定义了一个函数 在函数
  • 这才是CSDN最系统的网络安全学习路线(建议收藏)

    01 什么是网络安全 网络安全可以基于攻击和防御视角来分类 我们经常听到的 红队 渗透测试 等就是研究攻击技术 而 蓝队 安全运营 安全运维 则研究防御技术 无论网络 Web 移动 桌面 云等哪个领域 都有攻与防两面性 例如 Web 安全技
  • 华为hcip认证考试内容是什么?hcip认证有哪些方向

    HCIP不同方向考试的科目和内容不一样 有的需要考三门 如 HCNP Routing Switching 路由交换 HCNP Storage 存储 HCNP Security 安全 这三个方向 而其他的认证方向 有的只需要考一门的 少部分则
  • WordPress配置SMTP发送电子邮件(QQ邮箱)

    Wordpress通过PHP自带的mail函数实现电子邮件的发送成功率极低 现有的各类邮箱 例如QQ邮箱 新浪邮箱 163邮箱等 基本不支持PHP语言的mail函数实现的邮件发送 因此 需要配置基于SMTP协议的邮件发送环境 实现Wordp
  • 软件工程基础知识--软件项目管理

    软件项目管理是指软件生存周期中软件管理者所进行的一系列活动 其目的是在一定的时间和预设范围内有效地利用人力 资源 技术和工具 使软件系统或软件产品按原定计划和质量要求如期完成 一 软件项目管理涉及范围 二 软件项目估算 三 进度管理 四 软
  • AutoCAD 2021 for Mac(cad2021)中文版

    AutodeskAutoCAD 2021中文版目前已经正式发布了 CAD2021 全称为AutoCAD2021 这是目前Autodesk公司最新发布的一款非常好用且功能强大二维和三维CAD设计软件 同时该软件内置了专业强大的MEP MAP
  • Linux 之大数据定制篇-Shell 编程

    Linux 之大数据定制篇 Shell 编程 为什么要学习Shell 编程 Linux 运维工程师在进行服务器集群管理时 需要编写Shell 程序来进行服务器管理 对于JavaEE 和Python 程序员来说 工作的需要 你的老大会要求你编
  • 【音视频流媒体】1、图像YUV、视频编码H264、封装格式 FLV、网络协议RTSP 超详细介绍

    文章目录 一 从参数看视频图像 1 1 像素 1 2 分辨率 1 3 位深 1 4 stride 1 5 帧率 fps 帧 秒 1 6 码率 Kb s Mb s 二 颜色空间 YUV RGB YUV4 4 4 YUV4 2 2 YU16 或
  • Java jsp cannot be resolved to a type解决方法之一

    不要在一个文件夹下面建两个名字一样的包和类
  • 团队管理的四大挑战——招人篇

    团队管理的四大挑战 招人篇 招人篇 1 告诉 HR 你的团队需要什么样的人 2 尊重应聘者 3 你不需要套路 4 互补而不是趋同 5 如果犹豫 那么放弃 6 如何面试比你高阶的人 7 面试最重要的目的是识别风险 8 缺点易现 亮点难得 结语
  • 【chineseOCR】踩过的坑

    1 环境 ubuntu16 04 cuda10 tensorflow1 13 2 web py 0 40 dev0 这两个比较重要 不然会报好多奇怪的错 说明tensorflow必须1 13版本 低了不支持cudn10 高了chineseO
  • Android自定义轮播效果(优化)

    创作背景 本文是继上一篇 Android自定义轮播效果 优化问题而写 希望大家能有顺序的看 优化一 实现自动无线轮播 private class myPagerAdapter extends PagerAdapter Override pu
  • 【知识点】单片机USB转TTL模块的相关知识

    前言 USB转TTL模块的作用就是把电平转换到双方都能识别进行通信 单片机通信接口的电平逻辑和PC机通信接口的电平逻辑不同 PC机上的通信 接口有USB接口 相应电平逻辑遵照USB原则 还有DB9接口 九针口 相应电平逻辑遵照RS 232原
  • MFC的Brush与Pen的使用

    Brush的使用 void CMFCApplicationDlg OnBnClickedOk CDC pDC GetWindowDC CBrush brush1 Must initialize brush1 CreateSolidBrush
  • SonarQube代码质量检测的一点坑

    这里解决的问题有以下几点 1 之前用过sonarqube检测过代码的质量 因其自带的CFamily需要license 故在github上找到相关开源免费的C C 插件 针对特定的sonarqube版本都有相对应的sonar cxx c版本
  • 原生js实现导航条动画

    原生js实现毛毛虫导航 直接上代码