javascript实现超炫的向上滑行菜单实例


Posted in Javascript onAugust 03, 2015

本文实例讲述了javascript实现超炫的向上滑行菜单。分享给大家供大家参考。具体如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>JS实现文字上下滑动导航</title>
<style type="text/css"> 
body { margin:0; background:#66FF99; }
ul { padding-left:0; margin:0; }
li { list-style:none; }
#nav { height:40px; background:#900; margin-top:50px; }
#nav ul { width:240px; height:40px; margin:0 auto; }
#nav li {height:40px; width:240px;}
#nav a { float:left; width:240px;position:relative; height:40px; overflow:hidden; font-size:14px; color:#e0e03a; text-decoration:none; cursor:pointer; }
#nav strong { float:left;width:240px; }
#nav span { float:left;width:200px; padding:0 20px; height:40px; line-height:40px; background:#900; clear:both; white-space:nowrap;}
#nav .active,#nav .current span { background:#600; color:#fff; }
#nav .current .active { color:#e0e03a; }
</style>
<script> 
window.onload=function()
{
 var oDiv=document.getElementById('nav');
 var aStrong=oDiv.getElementsByTagName('strong');
 var aA=oDiv.getElementsByTagName('a');
 var iTarget=oDiv.getElementsByTagName('li')[0].offsetHeight;
 for(var i=0; i<aStrong.length; i++)
 {
  aA[i].style.width=aStrong[i].style.width=aStrong[i].getElementsByTagName('span')[0].offsetWidth+'px';
  aStrong[i].style.position='absolute';
  aStrong[i].style.top=aStrong[i].style.left=0;
  aStrong[i].onmouseover=function()
  {
   startMove(this, -iTarget);
  };
  aStrong[i].onmouseout=function()
  {
   startMove(this, 0);
  };
 }
};
function startMove(obj,target)
{
 clearInterval(obj.iTime);
 obj.iTime=setInterval(function(){
  if(obj.offsetTop==target)
  {
   clearInterval(obj.iTime);
  }
  else
  {
   var iSpeed=(target-obj.offsetTop)/4;
   iSpeed=iSpeed>0?Math.ceil(iSpeed):Math.floor(iSpeed);
   obj.style.top=obj.offsetTop+iSpeed+'px';
  }
 }, 30);
}
</script>
</head>
<body>
<div id="nav">
 <ul>
  <li class="current">
   <a href="#">
    <strong>
     <span>首页</span>
     <span class="active">首页</span>
    </strong>
   </a>
  </li>
  <li>
   <a href="#">
    <strong>
     <span>前端开发课程</span>
     <span class="active">前端开发课程</span>
    </strong>
   </a>
  </li>
  <li>
   <a href="#">
    <strong>
     <span>妙味视频教程</span>
     <span class="active">妙味视频教程</span>
    </strong>
   </a>
  </li>
  <li>
   <a href="#">
    <strong>
     <span>周末班上课安排</span>
     <span class="active">周末班上课安排</span>
    </strong>
   </a>
  </li>
  <li>
   <a href="#">
    <strong>
     <span>结课标准</span>
     <span class="active">结课标准</span>
    </strong>
   </a>
  </li>
  <li>
   <a href="#">
    <strong>
     <span>联系妙味</span>
     <span class="active">联系妙味</span>
    </strong>
   </a>
  </li>
 </ul>
</div>
</body>
</html>

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
文字幻灯片
Jun 26 Javascript
通过JAVASCRIPT读取ASP设定的COOKIE
Nov 24 Javascript
JavaScript中令你抓狂的魔术变量
Nov 30 Javascript
JavaScript 给汉字排序实例代码
Jun 28 Javascript
js取值中form.all和不加all的区别介绍
Jan 20 Javascript
js仿小米手机上下滑动效果
Feb 05 Javascript
vue-cli构建项目使用 less的方法
Oct 04 Javascript
AngualrJs清除定时器遇到的坑
Oct 13 Javascript
微信小程序之多文件下载的简单封装示例
Jan 29 Javascript
vue 音乐App QQ音乐搜索列表最新接口跨域设置方法
Sep 25 Javascript
JS代码检查工具ESLint介绍与使用方法
Feb 04 Javascript
TensorFlow.js 微信小程序插件开始支持模型缓存的方法
Feb 21 Javascript
提高jQuery性能优化的技巧
Aug 03 #Javascript
jquery简单实现幻灯片的方法
Aug 03 #Javascript
JS拖拽插件实现步骤
Aug 03 #Javascript
javascript实现的淘宝旅行通用日历组件用法实例
Aug 03 #Javascript
javascript简单实现类似QQ头像弹出效果的方法
Aug 03 #Javascript
比例尺、缩略图、平移缩放之百度地图添加控件方法
Aug 03 #Javascript
浅谈JavaScript中setInterval和setTimeout的使用问题
Aug 01 #Javascript
You might like
自己动手做一个SQL解释器
2006/10/09 PHP
计算一段日期内的周末天数的php代码(星期六,星期日总和)
2009/11/12 PHP
php上传图片之时间戳命名(保存路径)
2014/08/15 PHP
PHP简单实现DES加密解密的方法
2016/07/12 PHP
详解PHP使用日期时间处理器Carbon人性化显示时间
2017/08/10 PHP
详解thinkphp中的volist标签
2018/01/15 PHP
几个高效,简洁的字符处理函数
2007/04/12 Javascript
原生Js页面滚动延迟加载图片实现原理及过程
2013/06/24 Javascript
js与css实现弹出层覆盖整个页面的方法
2014/12/13 Javascript
Webpack 实现 AngularJS 的延迟加载
2016/03/02 Javascript
JavaScript直播评论发弹幕切图功能点集合效果代码
2016/06/26 Javascript
轻松实现jquery选项卡切换效果
2016/10/10 Javascript
bing Map 在vue项目中的使用详解
2018/04/09 Javascript
Vue-cropper 图片裁剪的基本原理及思路讲解
2018/04/17 Javascript
vue移动端监听滚动条高度的实现方法
2018/09/03 Javascript
vue多级复杂列表展开/折叠及全选/分组全选实现
2018/11/05 Javascript
在React中写一个Animation组件为组件进入和离开加上动画/过度效果
2019/06/24 Javascript
[01:14:30]TNC vs VG 2019国际邀请赛淘汰赛 胜者组赛BO3 第二场 8.20.mp4
2019/08/22 DOTA
python中字符串比较使用is、==和cmp()总结
2018/03/18 Python
python 字典操作提取key,value的方法
2019/06/26 Python
Python常用模块os.path之文件及路径操作方法
2019/12/03 Python
使用celery和Django处理异步任务的流程分析
2020/02/19 Python
python3通过qq邮箱发送邮件以及附件
2020/05/20 Python
python 读txt文件,按‘,’分割每行数据操作
2020/07/05 Python
Python如何设置指定窗口为前台活动窗口
2020/08/12 Python
利用python实现后端写网页(flask框架)
2021/02/28 Python
基于 HTML5 的 WebGL 3D 版俄罗斯方块的示例代码
2018/05/28 HTML / CSS
美国精油公司:Plant Therapy
2019/05/17 全球购物
波兰在线儿童和婴儿用品零售商:pinkorblue
2019/06/29 全球购物
实习公司领导推荐函
2014/05/21 职场文书
干部对照检查材料范文
2014/08/26 职场文书
辞职信标准格式
2015/02/27 职场文书
2016年春节慰问信息大全
2015/11/30 职场文书
2019最新公司租房合同(例文)
2019/07/18 职场文书
Spring Boot DevTools 全局配置学习指南
2022/03/31 Java/Android
Windows Server 2012配置DNS服务器的方法
2022/04/29 Servers