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类库Bindows1.3中的内存释放方式分析
Mar 08 Javascript
正则表达式搭配js轻松处理json文本方便而老古
Feb 17 Javascript
from 表单提交返回值用post或者是get方法实现
Aug 21 Javascript
ExtJs纵坐标值重复问题的解决方法
Feb 27 Javascript
jQuery 实现侧边浮动导航菜单效果
Dec 26 Javascript
js+HTML5基于过滤器从摄像头中捕获视频的方法
Jun 16 Javascript
jQuery中Nicescroll滚动条插件的用法
Nov 10 Javascript
Node.js读取文件内容示例
Mar 07 Javascript
Vue封装Swiper实现图片轮播效果
Feb 06 Javascript
详解在vue-cli中使用graphql即vue-apollo的用法
Sep 08 Javascript
基于JavaScript实现每日签到打卡轨迹功能
Nov 29 Javascript
JavaScript实现好看的跟随彩色气泡效果
Feb 06 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
YII使用url组件美化管理的方法
2015/12/28 PHP
php代码检查代理ip的有效性
2016/08/19 PHP
JavaScript 图片预览效果 推荐
2009/12/22 Javascript
用Javascript评估用户输入密码的强度(Knockout版)
2011/11/30 Javascript
jQuery判断checkbox是否选中的3种方法
2014/08/12 Javascript
JS倒计时代码汇总
2014/11/25 Javascript
jquery插件qrcode在线生成二维码
2015/04/26 Javascript
JS模式之单例模式基本用法
2015/06/30 Javascript
js实现浮动在网页右侧的简洁QQ在线客服代码
2015/09/04 Javascript
JavaScript中清空数组的方法总结
2016/12/02 Javascript
原来JS还可以这样拆箱转换详解
2019/02/01 Javascript
vue cli 3.0 搭建项目的图文教程
2019/05/17 Javascript
JS中循环遍历数组的四种方式总结
2021/01/23 Javascript
[01:09:20]NB vs NAVI Supermajor小组赛A组 BO3 第二场 6.2
2018/06/03 DOTA
[01:14:31]Secret vs VG 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
Python中SOAP项目的介绍及其在web开发中的应用
2015/04/14 Python
Python的净值数据接口调用示例分享
2016/03/15 Python
利用python写个下载teahour音频的小脚本
2017/05/08 Python
python-itchat 获取微信群用户信息的实例
2019/02/21 Python
python 微信好友特征数据分析及可视化
2020/01/07 Python
Python 的 __str__ 和 __repr__ 方法对比
2020/09/02 Python
pytorch下的unsqueeze和squeeze的用法说明
2021/02/06 Python
css3实现信纸/同学录效果的示例代码
2018/12/11 HTML / CSS
css3实现椭圆轨迹旋转的示例代码
2018/10/29 HTML / CSS
吃透移动端 Html5 响应式布局
2019/12/16 HTML / CSS
国贸专业个人求职信分享
2013/12/04 职场文书
财务经理的岗位职责
2013/12/17 职场文书
丧事主持词大全
2014/04/02 职场文书
公务员政审个人总结
2015/02/12 职场文书
网络妈妈观后感
2015/06/08 职场文书
电影雷锋观后感
2015/06/10 职场文书
祝寿主持词
2015/07/02 职场文书
2015年秋季运动会加油稿
2015/07/22 职场文书
2020优秀员工演讲稿(三篇)
2019/10/17 职场文书
警用民用对讲机找不同
2022/02/18 无线电
Python读写yaml文件
2022/03/20 Python