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常用助手函数大全