网络软件 系统工具 应用软件 图形图像 多媒体类 免费游戏 安全相关 免费音乐 网页素材 电子书籍 考试考题 建站源码
教育教学 多媒体类 编程开发 操作系统 游戏天地 娱乐天地 简历求职 站长专区 网页设计 安全技术 图形图像 文学驿站
业界资讯 | 图形图像 | 操作系统 | 网络冲浪 | 工具软件 | 办公软件 | 媒体动画 | 精文荟萃 | 认证考试 | 网页设计 | 技术开发 | 专栏
当前位置:热点网络学院技术开发ScriptJavaScript下拉菜单全攻略之Javascript篇
精品推荐
热点TOP10
·WEB打印大全之JavaScript
·用window.location.href实现刷新另个框架页面
·自动刷新页面
·网页屏蔽(左右键,代码等)的非JS方法
·对联广告JS代码效果大全
·网页里嵌入JavaScript 验证空,汉字,字母,数字,长度输入
·javascript 中的replace方法
·获取cpu序列号,硬盘ID,网卡MAC地址
·下拉菜单全攻略之Javascript篇
·把UTF-8编码转换为GB2312编码
·JavaScript实现页面之间传递参数的方法
·Javascript实例:Select的OnChange()事件
·JavaScript 参考教程
·轻松弹出无边框网页的Javscrpt代码
·javascript gb2312转utf-8
·打开网页自动设为首页代码
·CSS+JavaScript打造超酷右键菜单
·javascript实现类似google和msn space的拖拽
·格式化数字函数FormatNumber
·让3721也无奈的弹出窗口(代码)
下拉菜单全攻略之Javascript篇
日期:2004年5月29日 作者:热点网络学院 查看:[大字体 中字体 小字体]
随着互联网的普及和网页制作技术的发展,越来越多的网友开始制作自己的网站。做为网站最重要的部分—导航菜单也出现了各式各样的设计和制作方法。其中下拉式导航菜单已经成为多栏目大信息量网站的首选导航方式。那么,在下面我将简单介绍一下众多下拉菜单制作方法中完全使用JS自动生成的“自适应分辨率可扩展二层JS下拉菜单”的工作原理和使用方法。

  1、 S下拉菜单原理


  下拉菜单实际上就是在开始的时候显示一级或者说是主菜单(图一)。当触发条件(例如:鼠标移动到上面时)显示次级菜单(图二)。



图一



图二


  那么如何实现这样的效果呢。其实很简单。所有的下拉菜单都是通过图层的显隐来实现的。在文件下载的时候,其实主菜单和次级菜单都以经形成或者说下载到了客户端也就是你的机器里。只是次级菜单被隐藏起来。隐藏的方法一般是使用javascript 配合css控制次级菜单的图层的属性visibility为隐藏。所以在开始的使用你是看不见次级菜单的。当满足触发条件(例如:鼠标移动到上面)时,在使用javascript来控制次级菜单显示。当在次满足触发条件时(例如:鼠标移开),控制次级菜单隐藏。


  我们现在讲的这个“自适应分辨率可扩展二层JS下拉菜单”可以自动适应浏览器分辨率的改变始终保持相对位置。可以方便的自己定制菜单显示内容及连接页面。可以随意扩充主导航和次导航的栏目个数。可以自由改变连接和导航表格的样式和外观等等。


  2、"自适应分辨率可扩展二层JS下拉菜单"js代码详解



//--------------- 主导航条内容 ------------//
var mainLayer=new Array("蓝色理想","动意营造");//主导航栏目


//--------------- 次导航条内容 ------------//
var subLayer0=new Array("论坛","文献"); //导航栏目一下的次级栏目
var subLayerHttp0=new Array("#","#");//主导航栏目一下的次级栏目连接地址
var subLayer1=new Array("论坛","文献");//导航栏目二的次级栏目
var subLayerHttp1=new Array("#","#");//主导航栏目二的次级栏目连接地址




//--------------- 主导航条Table参数调整 ------------//
var mainTableTdWidth=100; //每个TD的宽度,调整主导航内容间距
var mainTableBorder=0; //调整主导航表格边框宽度
var mainTableCellspacing=0; //调整主导航表格Cellspacing
var mainTableCellpadding=1; //调整主导航表格Cellpadding
var mainTableBgcolor="#000000"; //调整主导航表格背景色
var mainTableBordercolor=""; //调整主导航表格编框颜色
var mainTableBackgroundImg=""; //调整主导航表格背景图片url地址
var hrefClassName="link" //调整url风格样式
var mainTableTdBgcolor="B2CBCF"; //调整主导航表格Td色


//--------------- 次导航条Table参数调整 ------------//
var subTableBorder=0; //调整次导航条表格边框宽度
var subTableCellspacing=0; //调整次导航条表格Cellspacing
var subTableCellpadding=1; //调整次导航条表格Cellpadding
var subTableBgcolor="#000000"; //调整次导航条表格背景色
var subTableBordercolor=""; //次导航条表格编框颜色
var subTableBackgroundImg=""; //次导航条表格背景图片url地址
var subTableTdBgcolor="B2CBCF"; //调整次导航表格Td色
var sbuTabbleTop=21; //次导航表格上下微调
var sbuTabbleLeft=-1; //次导航表格左右微调


//--------------- 系统参数*请勿调整 ------------//
var layerMax=mainLayer.length+10;
var layerName="index";


//--------------- 生成下拉菜单 ------------//
function createMainLayer(){
document.write("
");
for(i=0;idocument.write(" ");
}
document.write("
 "+mainLayer[i]+"
");

for(j=0;jcreateSubLayer(j);
}
document.write("

");
}




//--------------- 生成每项下拉菜单内容 ------------//
function createSubLayer(num){
var subLayerName= layerName +num;
var subLayerLeft=(mainTableTdWidth*num)+mainTableCellpadding+mainTableBorder;
var subLayerList=eval("subLayer"+num);
var subLayerHttpList=eval("subLayerHttp"+num);
document.write("

");


}


//------------------------------次菜单显隐控制--------------------------//
function layervib(type,num){
var H=type;
var temp=(H='visible'?'hidden':'visible')
for(var i=0;ivar E=eval('document.all.index'+i+'.style');
var H=eval(i);
if(i==num){E.visibility=type}else{E.visibility=temp};
}
}


  3、"自适应分辨率可扩展二层JS下拉菜单"js代码使用方法。


  (1) 将上面的代码存储为js_daohang.js.放在和调用的页面同一个目录下。
  (2) 在需要使用的叶面中在如下位置添加

  来产生菜单。如下例。可以随意摆放到页面的任何位置。







 



  (4)、如何添加新的主菜单及次级菜单的栏目。

  假设我们要在已有的栏目里新增加一个“七色鸟”栏目。下面有“论坛”和“文献”两个次级栏目。那么我么首先要在代码的如下部分添加“七色鸟”。


var mainLayer=new Array("蓝色理想","动意营造","七色鸟");//主导航栏目
0 1 2


  然后在如下的位置添加“论坛”和“文献”栏目及连接地址。


var subLayer0=new Array("论坛","文献"); //导航栏目一下的次级栏目
var subLayerHttp0=new Array("#","#");//主导航栏目一下的次级栏目连接地址
var subLayer1=new Array("论坛","文献");//导航栏目二的次级栏目
var subLayerHttp1=new Array("#","#");//主导航栏目二的次级栏目连接地址
var subLayer2=new Array("论坛","文献");//导航栏目三的次级栏目
var subLayerHttp2=new Array("#","#");//主导航栏目三的次级栏目连接地址


  注意:蓝色部分是需要新添加的部分。红色部分是要修改的部分。要和上面的编号一一对应。 (5)、其他细节调整请参考代码详解部分。


  4、附注及扩充。


  代码中主要使用的函数及方法详解。

Document.write("tmp")在页面中写入tmp.
var subLayerHttp1=new Array();定义一个新的数组subLayerHttp1.
For(I=0;Ivar temp=(H=值1?值2:值3)当H的值等于值1的时候temp等于值2。反之temp的值等于值3。


增强功能。
//--------------- 系统参数*请勿调整 ------------//
var layerMax=mainLayer.length+10;
var layerName="index"


可以设置layerName=其他字段以生成新的下拉菜单。使页面内共存两个下拉菜单。


(出处:http://www.vipcn.com

关于我们 | 帮助(?) | 版权声明 | 友情连接 
Copyright 2005-2005 viphot.com All Rights Reserved.
Powered by:mesky