zoukankan      html  css  js  c++  java
  • 一个弹出式menu的制作

    首页要求有象浙江大学(http://www-2.zju.edu.cn)一样导航条。

    分析了一下代码:

    首先要有mm_menu.js文件,似乎是macromedia公司写的,

     * mm_menu 20MAR2002 Version 6.0
     * Andy Finnell, March 2002
     * Copyright (c) 2000-2002 Macromedia, Inc.

    不知道是不是dreamweaver中内含的文件。

    下载

    http://www-2.zju.edu.cn/mm_menu.js

    然后,在需要的页面的<head>之间,调用文件中的

    function mmLoadMenus() {
      if (window.mm_menu_0423132603_0) return;
          window.mm_menu_0423132603_0 = new Menu("root",97,26,"",14,"#000000","#FFFFFF","#ffffff","#777777","left","middle",8,-1,1000,-5,7,true,true,true,0,true,true);
      mm_menu_0423132603_0.addMenuItem("领 导 致 辞","window.open('xqzl/ldzc.htm', '_self');");
      mm_menu_0423132603_0.addMenuItem("学 校 概 况","window.open('xqzl/xygk/xygk.htm', '_self');");
      mm_menu_0423132603_0.addMenuItem("院 系 设 置","window.open('xqzl/yxsz.htm', '_self');");
      mm_menu_0423132603_0.addMenuItem("党 政 机 构","window.open('xqzl/dzjg/dzjg.htm', '_self');");
      mm_menu_0423132603_0.addMenuItem("学 校 标 志","window.open('xqzl/biaozhi/bz.htm', '_self');");
      mm_menu_0423132603_0.addMenuItem("历 史 沿 革","window.open('xqzl/lsyg/lsyg.htm', '_self');");
      mm_menu_0423132603_0.addMenuItem("历 任 校 长","window.open('xqzl/lrxz/lrxz.htm', '_self');");
      mm_menu_0423132603_0.addMenuItem("校 区 一 览","window.open('xqzl/xqyl/xqly.htm', '_self');");
      mm_menu_0423132603_0.addMenuItem("校 园 风 景","window.open('xqzl/fj/fj.htm', '_self');");
      mm_menu_0423132603_0.addMenuItem("统 计 资 料","window.open('xqzl/tj/tj.htm', '_self');");
      mm_menu_0423132603_0.addMenuItem("浙 大 图 库","window.open('http://www-2.zju.edu.cn/~piclib/', '_blank');");
      mm_menu_0423132603_0.addMenuItem("大 事 记","window.open('xqzl/dsj/dsj4.htm', '_self');");
       mm_menu_0423132603_0.hideOnMouseOut=true;
       mm_menu_0423132603_0.bgColor='#ffffff';
       mm_menu_0423132603_0.menuBorder=1;
       mm_menu_0423132603_0.menuLiteBgColor='#FFFFFF';
       mm_menu_0423132603_0.menuBorderBgColor='#999999';

      window.mm_menu_0423205435_0 = new Menu("root",115,26,"",14,"#000000","#FFFFFF","#ffffff","#777777","left","middle",8,-1,1000,-5,7,true,true,true,0,true,true);
      mm_menu_0423205435_0.addMenuItem("研 究 生 教 育","window.open('rcpy/yjsjy/yjsjy.htm', '_self');");
      mm_menu_0423205435_0.addMenuItem("本 科 生 教 育","window.open('rcpy/bksjy/bksjy.htm', '_self');");
      mm_menu_0423205435_0.addMenuItem("留 学 生 教 育","window.open('gjjl/gjjy.htm', '_self');");
      mm_menu_0423205435_0.addMenuItem("成 人 教 育","window.open('http://www.cj.zju.edu.cn/', '_blank');");
      mm_menu_0423205435_0.addMenuItem("远 程 教 育","window.open('http://www.zjuyc.com/index.jsp', '_blank');");
      mm_menu_0423205435_0.addMenuItem("师 资 培 训","window.open('rcpy/szpx/sz.htm', '_self');");
      mm_menu_0423205435_0.addMenuItem("学 科 基 地","window.open('rcpy/xkjd.htm', '_self');");
       mm_menu_0423205435_0.hideOnMouseOut=true;
       mm_menu_0423205435_0.bgColor='#ffffff';
       mm_menu_0423205435_0.menuBorder=1;
       mm_menu_0423205435_0.menuLiteBgColor='#FFFFFF';
       mm_menu_0423205435_0.menuBorderBgColor='#999999';

    ……

    ……

    ……

    }//mmLoadMenus()结束,主要用来生成menu对象,每个对象对应一个menu块

    例如:

    window.mm_menu_0423132603_0 = new Menu("root",97,26,"",14,"#000000","#FFFFFF","#ffffff","#777777","left","middle",8,-1,1000,-5,7,true,true,true,0,true,true);

    注意“mm_menu_0423132603_0”的数字用来区分不同的menu块,其后的97,26代表弹出munu的宽和高 14代表字号

    加入,一些必要的函数

    function MM_preloadImages() { //v3.0
      var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
        var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
        if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
    }

    function MM_swapImgRestore() { //v3.0
      var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
    }

    function MM_findObj(n, d) { //v4.01
      var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
        d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
      if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
      for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
      if(!x && d.getElementById) x=d.getElementById(n); return x;
    }

    function MM_swapImage() { //v3.0
      var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
       if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
    }
    </SCRIPT>

    当然不要忘记

    <SCRIPT language=JavaScript src="inc/mm_menu.js"></SCRIPT>

    在body中加入<SCRIPT language=JavaScript1.2>mmLoadMenus();</SCRIPT>
    然后就可以开始我们激动人心的调用了!

    格式如下:

     <TD
                    onmouseover="MM_swapImage('Image1',','images/on_1.jpg',1)"
                    onmouseout=MM_swapImgRestore()><SPAN class=div_gui id=gui
                      ondblclick="MM_showMenu(window.mm_menu_0423132603_0,134,0,null,'Image1')"
                      onmouseover="MM_showMenu(window.mm_menu_0423132603_0,134,0,null,'Image1')"
                      style="PADDING-LEFT: 24px; Z-INDEX: 1; PADDING-TOP: 16px; POSITION: absolute"
                      onclick="MM_showMenu(window.mm_menu_0423132603_0,134,0,null,'Image1')">学院概况</SPAN>
                      <FONT
                      ondblclick="MM_showMenu(window.mm_menu_0423132603_0,134,0,null,'Image1')"
                      onmouseover="MM_showMenu(window.mm_menu_0423132603_0,134,0,null,'Image1')"
                      onclick="MM_showMenu(window.mm_menu_0423132603_0,134,0,null,'Image1')"
                      onmouseout=MM_startTimeout();><IMG id=Image1 height=49
                      src="images/1.jpg" width=134 border=0
                      name=Image1></FONT></TD>

    这就是调用一个menu块的代码

    其中:

    SPAN class=div_gui 的样式需要在css中单独定义
    Image1用来表示本menu块
    MM_swapImage是显示mouseon后的图片
     style="PADDING-LEFT: 24px; Z-INDEX: 1; PADDING-TOP: 16px; POSITION: absolute"
    中可以用PADDING-LEFT和PADDING-TOP的值控制文字的位置

    ondblclick="MM_showMenu(window.mm_menu_0423132603_0,134,0,null,'Image1')"
    中的0用来控制弹出菜单的位置0为平齐,负值为向上移动的位置,正值向下。

    好了,这些数据就可以让我应用这个漂亮的menu了!

  • 相关阅读:
    Charles 弱网测试
    jmespath 教程
    Fiddler查看接口响应时间
    Fiddler如何模拟弱网环境进行测试
    Github 上配置 Personal Token Key
    fiddler抓取app请求
    Charles 设置https 抓包
    PostgreSQL触发器使用实践——数据审计(转载)
    使用aop注解实现表单防重复提交功能(转载)
    转载( Spring Cloud gateway 网关拦截Post请求日志)
  • 原文地址:https://www.cnblogs.com/Godblessyou/p/1779032.html
Copyright © 2011-2022 走看看