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 相关文章推荐
Firefox中autocomplete=&quot;off&quot; 设置不起作用Bug的解决方法
Mar 25 Javascript
javascript的内存管理详解
Aug 07 Javascript
jQuery手机拨号界面特效代码分享
Aug 27 Javascript
JS实现超精简响应鼠标显示二级菜单代码
Sep 12 Javascript
js倒计时简单实现方法
Dec 17 Javascript
jQuery时间插件jquery.clock.js用法实例(5个示例)
Jan 14 Javascript
不用一句js代码初始化组件
Jan 27 Javascript
BootStrap使用popover插件实现鼠标经过显示并保持显示框
Jun 23 Javascript
Bootstrap Metronic完全响应式管理模板之菜单栏学习笔记
Jul 08 Javascript
微信小程序 教程之wxapp 视图容器 view
Oct 19 Javascript
JS获取字符对应的ASCII码实例
Sep 10 Javascript
vue相同路由跳转强制刷新该路由组件操作
Aug 05 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
使用php实现快钱支付功能(涉及到接口)
2013/07/01 PHP
YII中assets的使用示例
2014/07/31 PHP
PHP常量使用的几个需要注意的地方(谨慎使用PHP中的常量)
2014/09/12 PHP
php中注册器模式类用法实例分析
2015/11/03 PHP
javascript的对话框详解与参数
2007/03/08 Javascript
jQuery 插件 将this下的div轮番显示
2009/04/09 Javascript
javascript权威指南 学习笔记之null和undefined
2011/09/25 Javascript
验证码在IE中不刷新而谷歌等浏览器正常的解决方案
2014/03/18 Javascript
JavaScript使用ActiveXObject访问Access和SQL Server数据库
2015/04/02 Javascript
jQuery ztree实现动态树形多选菜单
2016/08/12 Javascript
Easyui的组合框的取值与赋值
2016/10/28 Javascript
Angularjs中的页面访问权限怎么设置
2016/11/11 Javascript
基于vue.js实现图片轮播效果
2016/12/01 Javascript
AngularJS封装指令方法详解
2016/12/12 Javascript
浅谈JS封闭函数、闭包、内置对象
2017/07/18 Javascript
vue-cli3 项目从搭建优化到docker部署的方法
2019/01/28 Javascript
Javascript Symbol原理及使用方法解析
2020/10/22 Javascript
Python中函数的多种格式和使用实例及小技巧
2015/04/13 Python
python 实现上传图片并预览的3种方法(推荐)
2017/07/14 Python
python决策树之C4.5算法详解
2017/12/20 Python
Python3.4学习笔记之类型判断,异常处理,终止程序操作小结
2019/03/01 Python
Python爬虫之urllib基础用法教程
2019/10/12 Python
利用Python如何实时检测自身内存占用
2020/05/09 Python
python之语音识别speech模块
2020/09/09 Python
Django+Django-Celery+Celery的整合实战
2021/01/20 Python
苹果美国官方商城:Apple美国
2016/08/24 全球购物
英国手工布艺沙发在线购买:Sofas & Stuff
2018/03/02 全球购物
为您的家、后院、车库等在线购物:Spreetail
2019/06/17 全球购物
NICKIS.com荷兰:设计师儿童时装
2020/01/08 全球购物
股东协议书范本
2014/04/14 职场文书
小学校长先进事迹材料
2014/05/13 职场文书
团支部推优材料
2014/05/21 职场文书
2015年消防工作总结
2015/04/24 职场文书
罗马假日观后感
2015/06/08 职场文书
2019年圣诞节祝福语集锦
2019/12/25 职场文书
浅谈移动端中的视口(viewport)的具体使用
2021/04/13 HTML / CSS