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 相关文章推荐
javascript Ext JS 状态默认存储时间
Feb 15 Javascript
JS跨域解决方案之使用CORS实现跨域
Apr 14 Javascript
JQuery.validate在ie8下不支持的快速解决方法
May 18 Javascript
jQuery设置和获取select、checkbox、radio的选中值方法
Jan 01 Javascript
详解.vue文件中监听input输入事件(oninput)
Sep 19 Javascript
jQuery中each遍历的三种方法实例分析
Sep 07 jQuery
Vue动态加载异步组件的方法
Nov 21 Javascript
layui-table获得当前行的上/下一行数据的例子
Sep 24 Javascript
JS中准确判断变量类型的方法
Jun 01 Javascript
浅谈javascript事件环微任务和宏任务队列原理
Sep 12 Javascript
编写v-for循环的技巧汇总
Dec 01 Javascript
浅谈JavaScript浅拷贝和深拷贝
Nov 07 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 下载文件时自动添加bom头的方法实例
2014/01/10 PHP
php判断数组元素中是否存在某个字符串的方法
2014/06/14 PHP
响应鼠标变换表格背景或者颜色的代码
2009/03/30 Javascript
js螺旋动画效果的具体实例
2013/11/15 Javascript
javascript实例分享---具有立体效果的图片特效
2014/06/08 Javascript
基于JavaScript实现智能右键菜单
2016/03/02 Javascript
基于javascript实现tab选项卡切换特效调试笔记
2016/03/30 Javascript
浅谈JavaScript变量的自动转换和语句
2016/06/12 Javascript
BootStrap智能表单实战系列(九)表单图片上传的支持
2016/06/13 Javascript
浅谈javascript运算符——条件,逗号,赋值,()和void运算符
2016/07/15 Javascript
Angularjs使用ng-repeat中$even和$odd属性的注意事项
2016/12/31 Javascript
JavaScript标准对象_动力节点Java学院整理
2017/06/27 Javascript
JavaScript你不知道的一些数组方法
2017/08/18 Javascript
JS库particles.js创建超炫背景粒子插件(附源码下载)
2017/09/13 Javascript
vue router仿天猫底部导航栏功能
2017/10/18 Javascript
实时监控input框,实现输入框与下拉框联动的实例
2018/01/23 Javascript
详解微信小程序开发(项目从零开始)
2019/06/06 Javascript
[59:30]完美世界DOTA2联赛PWL S3 access vs LBZS 第二场 12.20
2020/12/23 DOTA
[51:39]DOTA2-DPC中国联赛 正赛 Magma vs LBZS BO3 第二场 2月7日
2021/03/11 DOTA
python中getaddrinfo()基本用法实例分析
2015/06/28 Python
Python中if __name__ == '__main__'作用解析
2015/06/29 Python
将Emacs打造成强大的Python代码编辑工具
2015/11/20 Python
Python面向对象之类和对象实例详解
2018/12/10 Python
Keras 中Leaky ReLU等高级激活函数的用法
2020/07/05 Python
python之随机数函数的实现示例
2020/12/30 Python
英国最大的海报商店:GB Posters
2018/03/20 全球购物
大整数数相乘的问题
2012/07/22 面试题
外语学院毕业生的自我鉴定
2013/11/28 职场文书
劲霸男装广告词
2014/03/21 职场文书
推荐信格式范文
2014/05/09 职场文书
环保建议书300字
2014/05/14 职场文书
违反单位工作制度检讨书
2014/10/25 职场文书
实习介绍信模板
2015/01/30 职场文书
高中生物教学反思
2016/02/20 职场文书
用CSS3画一个爱心
2021/04/27 HTML / CSS
Elasticsearch 批量操作
2022/04/19 Python