DIV下拉式菜单(一)

菜单|下拉

script> var cm=null; document.onclick = new Function("show(null)") function getPos(el,sProp) { var iPos = 0 while (el!=null) { iPos+=el["offset" + sProp] el = el.offsetParent } return iPos } function show(el,m) { if (m) { m.style.display=""; m.style.pixelLeft = getPos(el,"Left") m.style.pixelTop = getPos(el,"Top") + el.offsetHeight } if ((m!=cm) && (cm)) cm.style.display="none" cm=m }
  这是一个非常简单的菜单,虽然简单,但我们可以从这个示例中学习到一些有关CSS和javascripts的一些有关知识,对于认识下拉式菜单的制作原理和基础有很大的好处。在这个示例中,我用到了DIV标识来作为我的下拉菜单列,而用一个TABLE来做我的菜单头。原理就是通过识别鼠标移动来开关下拉菜单列的显示属性。
  下面是这个DIV菜单的效果,你可单击页面任何空白地来取消下拉菜单的显示。

杂志技术站点 门户站点 个人收藏站点

  天极网 Yesky.com
  电脑商情报
  新潮电子
 

  新浪网 Sina
  搜狐 Sohu
  网易 Netease
 

  耗子网络编程站
  中国同学录
  中国软件开发网

    好了,如果我告诉你,这样的效果也就几十行的代码,你信吗?不管怎么样,让我们来一步一步学习这个菜单是怎么做出来的。Step-by-Step,Let"s go.
  第一步,你 ㄒ逡幌虏说ハ詈筒说チ械?CSS层叠样式表,这里,如果你不知道CSS是什么意思,请参阅《电脑报网站》的有关CSS的教程。我们定义两个CSS的Class,一个是Meun,另一个是SubMenu, Menu定义了显示在菜单顶上的样式,而Submenu定义了下拉菜单列的显示样式。这里,需要注意的是Submenu中的“position:absolute;width:200”CSS属性,这是必须的,因为这决定了我们显示这个Submenu的位置。而其它的CSS的属性是可要可不要的。下面是这两个CSS Class的描述,你可以把下面这段话放在网的$#@60;head$#@62;$#@60;/head$#@62;之间,或是$#@60;body$#@62;$#@60;/body$#@62;之间。

$#@60;STYLE$#@62;
$#@60;!--
  .menu {background-color:green;width:120; height:20;color: white; text-align: center;font-size:9pt;font-weight:bolder}
  .submenu {position:absolute;top:40;background-color:lightyellow;width:180; font-size:9pt}
--$#@62;
$#@60;/STYLE$#@62;

  第二步,我们来看一下隐藏和显示下拉菜单列的javascript的代码。这段代码非常简单,只要学过一点javascripts的人应该是很容易看懂的。如果你不懂javascript的话,也请参阅《电脑报网站》上的有关javascripts的文章。这段代码的含义是,无论什么时候,只要鼠标一进入菜单项(Menu)元件中,那么它的下拉菜单列就会被一个叫Show函数显现出来。这个Show函数主要功能是显示当前的下拉菜单列,并隐藏其它的菜单列,并把当前所显示的菜单项放入变量cm中。另外,在这里,我还加入了一个简单的鼠标单击事件(onclick)句柄,当鼠标单击网页时,就隐藏所有的下拉菜单列。下面,我给出了整个javascript的程序,其中有一个叫 getPos 的函数,这是用来获取下拉菜单列的显示位置的。

$#@60;SCRIPT$#@62;
  var cm=null;
  document.onclick = new Function("show(null)")
function getPos(el,sProp)
{var iPos = 0
  while (el!=null)
   {iPos+=el["offset" + sProp]
    el = el.offsetParent}
  return iPos}
function show(el,m)
{if (m) {m.style.display=" ";
      m.style.pixelLeft = getPos(el,"Left")
      m.style.pixelTop = getPos(el,"Top") + el.offsetHeight}
  if ((m!=cm) && (cm)) cm.style.display="none" cm=m }
$#@60;/SCRIPT$#@62;
 

时间: 2024-11-01 23:49:41

DIV下拉式菜单(一)的相关文章

DIV下拉式菜单(二)

菜单|下拉  你可以把这段程序放在<head></head>标识之间,或是网页的任意位置. 接下来,我们还要定义我们的实际菜单项了,这里我们要给每一个菜单项加上一个鼠标的移动事件(OnMouseOver)句柄,并且让这个事件调用我们上面定义的Show函数.也就是说,当鼠标一进入我们的菜单项中,我们的show函数就开始执行了.这里,我们还要给我们的每个菜单项定义一个ID号,并且把其下拉菜单列的ID名传入Show函数中,这对我们控制下拉菜单列很关键,下面我给出了菜单项的HTML语法描述

只用CSS做的下拉式菜单--A Drop-Down Menu With Only CSS

最近在网上发现了一个只用CSS实现的下拉式菜单(Drop-Down Menu),感觉很新鲜也很酷.于是仔细看了作者的介绍以及源代码,发现核心就是一个":hover"伪类的使用.在CSS1中此伪类仅可用于a对象.且 对于无href属性(特性)的a对象,此伪类不发生作用.在CSS2中此伪类可以应用于任何对象.但IE6及其以下版本都不能很好的支持CSS2,因此 IE6及其以下版本就不能很好的运行这个程序了.所幸Firefox,Netscape,Opera,Safari等浏览器的最新版本均能很

用好表单的下拉式菜单

菜单|下拉 用<select>标记可以在表单中方便地插入一个下拉式菜单,以方便用户进行选择,这在制作调查表或用户订单时非常有用,对这种下拉式菜单稍加改造则可以制作出名符其实的下拉式导航菜单. 一.下拉式选择框 这两个示例,外观形式有所不同,但都是用了<select>和<option>标记做出来的,只是设置了不同的参数而已.比较一下它们的源代码,就明白了: 左边的菜单源代码:<select name="select" size="4&q

Java Swing中的下拉式菜单(menu)、弹出式菜单(JPopupMenu)、选项卡窗体(JTabbedPane)组件使用案例_java

菜单是GUI中最常用的组件,菜单不是Component类的子类,不能放置在普通容器中,不受布局管理器的约束,只能放置在菜单栏中. 菜单组件由菜单栏 (MenuBar).菜单(Menu)和菜单项(MenuItem)三部分组成. 一个菜单栏由若干个菜单组成,一个菜单又由若干个菜单项组成.一般菜单栏放 Frame 窗口中,只要调用 Frame 类的 setMenuBar()方法即可. 常用的菜单有:下拉式菜单和弹出式菜单(独立显示,可出现在任意地方). 一:下拉式菜单的创建步骤: 1.创建一个菜单栏.

请问:下拉式菜单中的选项能否做超链接或怎样做?

面的代码是中国微软的代码,你可以参考着写.<script LANGUAGE="JavaScript"><!--function load(form) {var url = form.list.options[form.list.selectedIndex].value;if (url != "") open(url, "_self");return false;}// --></script><form

WinForm控件开发总结(九) 为属性提下拉式属性编辑器

在上一篇文章,我介绍了如何编写模态对话框属性编辑器,这篇文章我将介绍如何编写下拉式属性编 辑器.下拉式(DropDown)属性编辑器和模态对话框属性编辑器的不同之处就是,当你点击属性值修改的 时候,模态对话框编辑器是弹出一个模态对话框,而下拉式属性编辑器却是在紧贴着属性值的地方显示一 个下拉的控件.不知道大家注意到了没有,这里我说的是显示一个下拉的控件,而这个控件也是需要你去 开发的,接下来我还是以Scope属性为例,介绍一下具体的实现. 首先我们要创建一个用于编辑属性的控件,在本系列文章的开始

CSS+DIV设计实例:纯CSS制作下拉导航菜单

css|菜单|设计|下拉 纯CSS制作的下拉导航菜单-这是一个老外的作品,基本上全是用CSS+HTML写出来的,值得大家学习 以下是引用片段:<style type="text/css">.menu {font-family: verdana, sans-serif; width:750px; position:relative; font-size:0.85em;padding-bottom:250px;}.menu ul {padding:0; margin:0;lis

iOS实现顶部标签式导航栏及下拉分类菜单_IOS

本文实例为大家分享了iOS实现顶部标签式导航栏及下拉分类菜单的全部过程,供大家参考,具体内容如下 当内容及分类较多时,往往采用顶部标签式导航栏,例如网易新闻客户端的顶部分类导航,最近刚好有这样的应用场景,参考网络上一些demo,实现了这种导航效果,记录一些要点. 效果图(由于视频转GIF掉帧,滑动和下拉动画显得比较生硬,刚发现quickTime可以直接录制手机视频,推荐一下,很方便) 1.顶部标签式导航栏 (1)实现思路 其实就是在上下两个UIScrollView上做文章,实现联动选择切换的效果

下拉透明菜单

菜单|透明|下拉 下拉透明菜单 <script language="JavaScript">var mmenus    = new Array();var misShow   = new Boolean(); misShow=false;var misdown   = new Boolean();misdown=false;var mnumberofsub=0;var musestatus=false;var mpopTimer = 0;mmenucolor='#89CB1