js实现带简单弹性运动的导航条
发布时间 - 2026-01-10 23:13:40 点击率:次晚上跟着视频敲了下 弹性菜单的代码,先记下来

效果如下:
代码如下:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style>
*{
margin:0;
padding:0;
}
.ul1{
width:450px;
height:30px;
margin:20px auto;
position:relative;
}
li{
list-style:none;
line-height:30px;
height:30px;
width:100px;
color:orange;
text-align:center;
float:left;
margin-right:5px;
border:1px soli #000;
background-color:red;
}
.mark{
position:absolute;
left:0;
top:0;
overflow:hidden;
}
.mark ul{
width:450px;
position:absolute;
left:0;
top:0;
}
.mark ul li{
color:#fff;
background-color:deepskyblue;
}
</style>
</head>
<body>
<ul class="ul1">
<li class="mark">
<ul>
<li>首页</li>
<li>论坛</li>
<li>视频</li>
<li>课程</li>
</ul>
</li>
<li class="box">首页</li>
<li class="box">论坛</li>
<li class="box">视频</li>
<li class="box">课程</li>
</ul>
</body>
<script>
window.onload = function(){
var oMark = document.querySelector('.mark');
var oBox = document.querySelectorAll('.box');
var childUl = oMark.querySelector('ul');
var timer = null;
var timer2 = null;//延迟定时器,100毫秒人的眼睛是察觉不出来的
var iSpeed = 0;
for (var i=0;i<oBox.length;i++){
oBox[i].onmouseover = function(){
clearTimeout(timer2);
startMove(this.offsetLeft);
};
oBox[i].onmouseout = function(){
timer2 = setTimeout(function(){
startMove(0);
},100);
};
}
oMark.onmouseover = function(){
clearTimeout(timer2);
};
oMark.onmouseout= function(){
timer2 = setTimeout(function(){
startMove(0);
},100);
};
function startMove(iTarget){
clearInterval(timer);
timer = setInterval(function(){
iSpeed += (iTarget -oMark.offsetLeft)/5;
iSpeed *= 0.75;
if(Math.abs(iSpeed)<=1 && Math.abs(iTarget -oMark.offsetLeft)<=1){
clearInterval(timer);
oMark.style.left = iTarget + 'px';
childUl.style.left = -iTarget + 'px';
iSpeed = 0;
}else {
oMark.style.left = oMark.offsetLeft + iSpeed +'px';
childUl.style.left = -oMark.offsetLeft +'px';
}
},30);
};
};
</script>
</html>
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
# js弹性运动
# 弹性运动
# js导航条特效
# JavaScript拖拽、碰撞、重力及弹性运动实例分析
# 原生JS+CSS实现炫酷重力模拟弹跳系统的登录页面
# JavaScript模拟重力状态下抛物运动的方法
# Javascript实现重力弹跳拖拽运动效果示例
# 纯js模拟div层弹性运动的方法
# JS实现小球的弹性碰撞效果
# JS弹性运动实现方法分析
# js弹性势能动画之抛物线运动实例详解
# JavaScript实现重力下落与弹性效果的方法分析
# 首页
# 敲了
# 晚上
# 不出来
# height
# px
# padding
# margin
# width
# color
# orange
# left
# float
# line
# position
# auto
# relative
# list
# li
# Document
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
齐河建站公司:营销型网站建设与SEO优化双核驱动策略
为什么要用作用域操作符_php中访问类常量与静态属性的优势【解答】
Laravel如何实现事件和监听器?(Event & Listener实战)
Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】
Python函数文档自动校验_规范解析【教程】
Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】
大学网站设计制作软件有哪些,如何将网站制作成自己app?
,怎么在广州志愿者网站注册?
JavaScript如何操作视频_媒体API怎么控制播放
如何利用DOS批处理实现定时关机操作详解
微信小程序 scroll-view组件实现列表页实例代码
零基础网站服务器架设实战:轻量应用与域名解析配置指南
Laravel如何使用Blade组件和插槽?(Component代码示例)
HTML5空格和nbsp有啥关系_nbsp的作用及使用场景【说明】
香港服务器部署网站为何提示未备案?
Laravel如何与Pusher实现实时通信?(WebSocket示例)
Win11关机界面怎么改_Win11自定义关机画面设置【工具】
今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】
制作电商网页,电商供应链怎么做?
专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?
php485函数参数是什么意思_php485各参数详细说明【介绍】
Laravel怎么集成Vue.js_Laravel Mix配置Vue开发环境
Swift开发中switch语句值绑定模式
如何快速生成橙子建站落地页链接?
Laravel如何使用Telescope进行调试?(安装和使用教程)
Laravel如何生成API文档?(Swagger/OpenAPI教程)
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
网站图片在线制作软件,怎么在图片上做链接?
如何快速生成高效建站系统源代码?
Laravel如何优雅地处理服务层_在Laravel中使用Service层和Repository层
Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法
如何破解联通资金短缺导致的基站建设难题?
如何用虚拟主机快速搭建网站?详细步骤解析
Laravel Debugbar怎么安装_Laravel调试工具栏配置指南
Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议
php打包exe后无法访问网络共享_共享权限设置方法【教程】
Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践
如何使用 jQuery 正确渲染 Instagram 风格的标签列表
Laravel N+1查询问题如何解决_Eloquent预加载(Eager Loading)优化数据库查询
制作旅游网站html,怎样注册旅游网站?
晋江文学城电脑版官网 晋江文学城网页版直接进入
音乐网站服务器如何优化API响应速度?
高防服务器:AI智能防御DDoS攻击与数据安全保障
Laravel如何配置中间件Middleware_Laravel自定义中间件拦截请求与权限校验【步骤】
如何获取PHP WAP自助建站系统源码?
Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】
如何在IIS中新建站点并解决端口绑定冲突?
Laravel如何使用withoutEvents方法临时禁用模型事件
进行网站优化必须要坚持的四大原则
Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全

