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 相关文章推荐
js使下拉列表框可编辑不止是选择
Dec 12 Javascript
JavaScript数组常用方法
Mar 02 Javascript
JavaScript中扩展Array contains方法实例
Aug 23 Javascript
JS操作XML实例总结(加载与解析XML文件、字符串)
Dec 08 Javascript
jquery siblings获取同辈元素用法实例分析
Jul 25 Javascript
灵活使用数组制作图片切换js实现
Jul 28 Javascript
Node.js + Redis Sorted Set实现任务队列
Sep 19 Javascript
node.js Sequelize实现单实例字段或批量自增、自减
Dec 08 Javascript
两种简单的跨域方法(jsonp、php)
Jan 02 Javascript
vue、react等单页面项目应该这样子部署到服务器
Jan 03 Javascript
js实现表格数据搜索
Aug 09 Javascript
关于vue的列表图片选中打钩操作
Sep 09 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
jQuery 研究心得 取得属性的值
2007/11/30 Javascript
33种Javascript 表格排序控件收集
2009/12/03 Javascript
了解jQuery技巧来提高你的代码
2010/01/08 Javascript
jQeury淡入淡出需要注意的问题
2010/09/08 Javascript
JavaScript异步调用定时方法并停止该方法实现代码
2012/03/16 Javascript
Javascript中产生固定结果的函数优化技巧
2013/01/16 Javascript
javascript日期计算实例分析
2015/06/29 Javascript
AngularJS深入探讨scope,继承结构,事件系统和生命周期
2016/11/02 Javascript
JS扩展类,克隆对象与混合类实例分析
2016/11/26 Javascript
bootstrap jquery dataTable 异步ajax刷新表格数据的实现方法
2017/02/10 Javascript
AngularJS自定义指令之复制指令实现方法
2017/05/18 Javascript
ES6学习之变量的两种命名方法示例
2017/07/18 Javascript
Django+Vue跨域环境配置详解
2018/07/06 Javascript
微信小程序实现禁止分享代码实例
2019/10/19 Javascript
详解如何在Vue项目中发送jsonp请求
2019/10/25 Javascript
ES5 模拟 ES6 的 Symbol 实现私有成员功能示例
2020/05/06 Javascript
JS实现百度搜索框
2021/02/25 Javascript
python使用datetime模块计算各种时间间隔的方法
2015/03/24 Python
详解Python中的变量及其命名和打印
2016/03/11 Python
Python多线程实现同步的四种方式
2017/05/02 Python
python中MethodType方法介绍与使用示例
2017/08/03 Python
Python实现读取txt文件并画三维图简单代码示例
2017/12/09 Python
详解Python传入参数的几种方法
2019/05/16 Python
django的auth认证,authenticate和装饰器功能详解
2019/07/25 Python
详解Python time库的使用
2019/10/10 Python
numpy ndarray 按条件筛选数组,关联筛选的例子
2019/11/26 Python
canvas实现扭蛋机动画效果的示例代码
2018/10/17 HTML / CSS
Saucony澳大利亚官网:美国跑鞋品牌,运动鞋中的劳斯莱斯
2018/05/05 全球购物
时尚孕妇装:Ingrid & Isabel
2019/05/08 全球购物
英国计算机商店:Technextday
2019/12/28 全球购物
个人优缺点自我评价
2014/01/27 职场文书
合作合同协议书范本
2015/01/27 职场文书
捐书活动倡议书
2015/04/27 职场文书
电影雨中的树观后感
2015/06/15 职场文书
2016年教师党员承诺书范文
2016/03/24 职场文书
【海涛教你打DOTA】黑鸟第一视角解说
2022/04/01 DOTA