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十个最常用的自定义函数(中文版)
Sep 07 Javascript
用JavaScript实现使用鼠标画线的示例代码
Aug 19 Javascript
javascript实现链接单选效果的方法
May 13 Javascript
jQuery侧边栏实现代码
May 06 Javascript
AngularJS内建服务$location及其功能详解
Jul 01 Javascript
详解使用vue脚手架工具搭建vue-webpack项目
May 10 Javascript
vuedraggable+element ui实现页面控件拖拽排序效果
Jul 29 Javascript
Windows下支持自动更新的Electron应用脚手架的方法
Dec 24 Javascript
vue请求本地自己编写的json文件的方法
Apr 25 Javascript
详解vue-cli3开发Chrome插件实践
May 29 Javascript
Vue打包部署到Nginx时,css样式不生效的解决方式
Aug 03 Javascript
小程序wx.getUserProfile接口的具体使用
Jun 02 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函数utf8转gb2312编码
2006/12/21 PHP
收藏的PHP常用函数 推荐收藏保存
2010/02/21 PHP
thinkphp3.2中Lite文件替换框架入口文件或应用入口文件的方法
2015/05/21 PHP
php打开本地exe程序,js打开本地exe应用程序,并传递相关参数方法
2018/02/06 PHP
PHP文件上传小程序 适合初学者学习!
2019/05/23 PHP
tp5 实现列表数据根据状态排序
2019/10/18 PHP
PHP实现微信公众号验证Token的示例代码
2019/12/16 PHP
jQuery 幻灯片插件(带缩略图功能)
2011/01/24 Javascript
关于textarea提交的内容无法换行的解决办法
2013/04/09 Javascript
js里取容器大小、定位、距离等属性搜集整理
2013/08/19 Javascript
js轮盘抽奖实例分析
2020/04/17 Javascript
Vue组件开发初探
2017/02/14 Javascript
详解VUE的状态控制与延时加载刷新
2017/03/27 Javascript
浅谈webpack4.x 入门(一篇足矣)
2018/09/05 Javascript
vue基础之事件v-onclick=&quot;函数&quot;用法示例
2019/03/11 Javascript
vue中的计算属性和侦听属性
2020/11/06 Javascript
[07:43]《辉夜杯》公开赛晋级外卡赛战队—TRG训练生活探秘
2015/12/11 DOTA
举例讲解Python中metaclass元类的创建与使用
2016/06/30 Python
python实现简单爬虫功能的示例
2016/10/24 Python
Python实现文件内容批量追加的方法示例
2017/08/29 Python
Python3利用Dlib19.7实现摄像头人脸识别的方法
2018/05/11 Python
Python使用matplotlib绘制Logistic曲线操作示例
2019/11/28 Python
解决keras加入lambda层时shape的问题
2020/06/11 Python
matplotlib事件处理基础(事件绑定、事件属性)
2021/02/03 Python
python模块内置属性概念及实例
2021/02/18 Python
用纯css3实现的图片放大镜特效效果非常不错
2014/09/02 HTML / CSS
HTML5之WebGL 3D概述(上)—WebGL原生开发开启网页3D渲染新时代
2013/01/31 HTML / CSS
心理健康教育心得体会
2013/12/29 职场文书
教育孩子心得体会
2014/01/01 职场文书
餐饮业经理竞聘演讲稿
2014/01/14 职场文书
老同学聚会感言
2014/02/23 职场文书
第一批党的群众路线教育实践活动工作总结
2014/03/03 职场文书
品德与社会教学反思
2016/02/24 职场文书
Ajax实现局部刷新的方法实例
2021/03/31 Javascript
CSS中em的正确打开方式详解
2021/04/08 HTML / CSS
详解Spring事件发布与监听机制
2021/06/30 Java/Android