导航条菜单的制作 滑动缓慢

<!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>动画菜单</title>
<style type="text/css">
* { margin: 0; padding: 0; font-size: 14px; }
a { color: #333; text-decoration: none }
ul{ list-style: none; }
.nav {height: 30px; border-bottom: 5px solid #F60; margin-left:50px; width:600px;}
.nav li { float: left; position:relative; height:30px; width:120px }
.nav li a { display: block; height: 30px; text-align: center; line-height: 30px; width:120px; background: #efefef; margin-left: 1px; }
.subNav{ position:absolute; top:30px; left:0; width:120px; height:0; overflow:hidden}
.subNav li a{ background:#ddd }
.subNav li a:hover{ background:#efefef}
</style>
<script>
window.onload=function(){
var aLi=document.getElementsByTagName(‘li‘);
for(var i=0; i<aLi.length; i++){
aLi[i].onmouseover=function(){
//鼠标经过一级菜单,二级菜单动画下拉显示出来
var ul=this.getElementsByTagName(‘ul‘)[0];

if(ul!=null){
startMove(ul,‘height‘,120);
}
}
//鼠标离开菜单,二级菜单动画收缩起来。
aLi[i].onmouseout=function(){
var ul=this.getElementsByTagName(‘ul‘)[0];
if(ul!=null){
startMove(ul,‘height‘,0);
}

}
}
}
function startMove(obj,attr,iTarget,fn){
clearInterval(obj.timer);
obj.timer=setInterval(function(){
//取当前值
var icur=0;
if(attr == ‘opacity‘){
icur=Math.round(parseFloat(getStyle(obj,attr))*100);
}else{
icur = parseInt(getStyle(obj,attr));
}
//算速度
var speed=(iTarget-icur)/8;
speed = speed>0?Math.ceil(speed):Math.floor(speed);//防止因小数而导致不能完全收缩
//监测停止
if(icur == iTarget){
clearInterval(obj.timer);
if(fn){
fn();
}
}else{
if(attr == ‘opacity‘){//透明度
obj.style.filter=‘alpha(opactiy:‘+(icur + speed)+‘)‘;//IE
obj.style.opacity=(icur + speed)/100;//火狐(透明度满值为1)
}else{
obj.style[attr]= icur +speed+‘px‘; //当前值加10
}
}
},30)
}
function getStyle(obj,attr){
if(obj.currentStyle){
return obj.currentStyle[attr];//IE
}else{
return getComputedStyle(obj,false)[attr];
}
}

</script>
</head>
<body>
<ul class="nav">
<li><a href="#">一级菜单</a>
<ul class="subNav">
<li><a href="#">二级菜单</a></li>
<li><a href="#">二级菜单</a></li>
<li><a href="#">二级菜单</a></li>
<li><a href="#">二级菜单</a></li>
</ul>
</li>
<li><a href="#">一级菜单</a>
<ul class="subNav">
<li><a href="#">二级菜单</a></li>
<li><a href="#">二级菜单</a></li>
<li><a href="#">二级菜单</a></li>
<li><a href="#">二级菜单</a></li>
</ul>
</li>
<li><a href="#">一级菜单</a></li>
<li><a href="#">一级菜单</a></li>
<li><a href="#">一级菜单</a></li>
</ul>
</body>
</html>

时间: 2024-12-31 16:58:26

导航条菜单的制作 滑动缓慢的相关文章

导航条菜单制作总结

整理自慕课网 http://www.imooc.com/view/6 制作垂直导航条时若不想增加导航块的长度可用text-indent:20px;进行缩进 导航条菜单制作总结1.用无序列表构建菜单:ul/li2.垂直菜单转变为水平菜单:float:left:3.在制作圆角菜单时,背景图片贴在<a>标签上: -------> 雪碧图的应用--- background-position4.在制作改变高度的伸缩菜单时,实现高度向上延伸的技巧: ----> margin-top用负值:5.

CSS——关于列表和导航条菜单之垂直菜单制作

导航条菜单,即左图所示.下面,将一一展开如何制作. 1.首先,制作一个垂直的项目菜单,用<ul><li>标签写出基本内容,然后在样式表里面用margin和padding去掉内外边距,用list-style属性去掉原有的项目符号,插入自己喜欢的项目符号,代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/D

关于CSS样式的那些事_导航条菜单讲解

最近开始忙着开自己的个人博客了,自己的前端确实是渣渣.没办法,一步步来,从慕课网上慢慢学着先. 首先带来的是一个导航栏的设计: 垂直导航栏的设计: 直接上代码: 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="h

导航条菜单

我们在浏览网页时会看到好多种导航菜单,有横向导航菜单.横向二级导航菜单.纵向菜单 通常是使用无序列表来建立导航菜单 1.纵向菜单 如: <ul> <li><a href=''#''>首页</a></li> <li><a href=''#''>新闻</a></li> ... </ul> 在css样式中设置 ul{               /*去除导航前的小点*/           

CSS3+Js制作的一款响应式导航条

今天制作了一个响应式导航条,能够自动随着不同的屏幕分辨率或浏览器窗口大小的不同而改变导航条的样式,这里主要用到的就是CSS3的Media Query.具体可以查看浅谈响应式布局这篇文章,这里就不花费大量的篇幅介绍了,主要看一下这个导航条该怎么做. 另外需要提到的是,ie6-ie8是不支持CSS3的Media Query的,因此对于ie6-ie8我们需要特殊处理,就让他们保持默认样式,这对于布局及样式上都要考虑到这一点. 首先看一下布局这一块,html代码如下: 1 2 3 4 5 6 7 8 9

纯CSS实现下拉菜单及下拉容器等(纯CSS实现导航条及导航下拉容器)

原文:纯CSS实现下拉菜单及下拉容器等(纯CSS实现导航条及导航下拉容器) 虽然网上类似甚至相同的案例有很多,但是我还是写下,以记下笔记,也可供大家参考 希望大家可以指导批评~~ 首先我们以列表ul li 来开始我们菜单也可以说导航条的制作: 在页面中我们首先构建以下XHTML结构: <body> <ul id="navWrapper"> <li> <a href="#">Menu A</a> <ul

导航条(垂直/水平/下拉菜单)

<ul class="nav"> <li><a href="home.html">home</a></li> <li><a href="about.html">about</a></li> <li><a href="Service.html">Service</a></li>

基于jQuery鼠标悬停上下滑动导航条

基于jQuery鼠标悬停上下滑动导航条.这是一款蓝色好看的鼠标响应式网站导航菜单特效.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div id="menu2" class="menu"> <ul> <li><a href="#">首 页</a></li> <li><a href="#">预报预警</a

Web网页简单的静态导航菜单的制作

Web网页导航菜单的制作 最近初学Html/Css,今天学习了一个简单的静态导航条的制作.属于很简单,很基础的东西. 思路:导航菜单–>书籍的目录,条目性结构–>用无需列表构建导航菜单 1. 首先在html代码中建立ul: <ul> <li><a href="#">首 页</a></li> <li><a href="#">新闻快讯</a></li>