首页 > 开发 > PHP > 正文

简单的滑动菜单

2024-05-04 22:55:57
字体:
来源:转载
供稿:网友
<!---
  简单的滑动菜单

  徐祖宁(唠叨)
  2003.03
  [email protected]

  滑动菜单是一种较常用的菜单形式,在罗列二级分类的场合下广泛使用。其特点是代码量极小,数据描述简洁。
  本例使用无线表格,以类的书写方式表述。
  本代码可自由扩散。
--->
<style>
table {font-size = 9pt}
td {height = 20px}
</style>
<body>
<span id="menus"></span>
<span id="view"></span>
</body>

<script for=pad event=onclick>
// 大类节点点击响应
for(var i=1;i<this.parentelement.rows.length;i+=2)
  this.parentelement.rows[i].style.display = "none";
this.parentelement.rows[this.rowindex+1].style.display='block';
view.innerhtml = this.v1 +":"+ this.v2; // 根据大小类自行构造相应动作
</script>

<script for=bar event=onclick>
// 小类节点点击响应
view.innerhtml = this.v1 +":"+ this.v2; // 根据大小类自行构造相应动作
</script>

<script>
/**
* 产生菜单的html代码串
* 入口参数为菜单默认打开的大类号
*/
function menu(n) {
    this.ar = new array(
    /**
     * 参数数组
     * 列1:大类
     * 列2:小类
     * 列3:标题
     */
    new array(1,0,"大类一"),
    new array(1,1,"小类一"),
    new array(1,2,"小类二"),
    new array(2,0,"大类二"),
    new array(2,1,"小类一"),
    new array(2,2,"小类二"),
    new array(2,3,"小类三"),
    new array(3,0,"大类三"),
    new array(3,1,"小类一"),
    new array(3,2,"小类二"),
    new array(4,0,"大类四"),
    new array(4,1,"小类一"),
    new array(4,2,"小类二"),
    new array(4,3,"小类三")
    );
    this.width =120;
    this.bgcolor = "#f0f0f0";
    this.bordercolorlight = "#c0c0c0";
    this.bordercolordark = "#ffffff";
    this.tr_bgcolor = "#d0d0d0";
    var s = "<table border=1 align=center width="+this.width+" bgcolor="+this.bgcolor+" bordercolorlight="+this.bordercolorlight+" bordercolordark="+this.bordercolordark+" cellpadding=0 cellspacing=0>"
    for(var i=0;i<this.ar.length;i++) { // 构造菜单的html结构,其中将大小类编号作为自定义参数,以便事件响应时使用。
        if(this.ar[i][1] == 0) {
            if(i > 0)
                s += "</table></td></tr>";
            var vk = this.ar[i][0]==n?"block":"none";
            s += "<tr id='pad' bgcolor="+this.tr_bgcolor+" v1="+this.ar[i][0]+" v2="+this.ar[i][1]+"><td align=center>"+this.ar[i][2]+"</td></tr><tr style='display:"+vk+"'><td><table width=100%>";
        }else
            s += "<tr><td id='bar' v1="+this.ar[i][0]+" v2="+this.ar[i][1]+">"+this.ar[i][2]+"</td></tr>";
    }
    s += "</table></td></tr></table>";
    return s;
}

/*** 创建菜单 ***/
menus.innerhtml = menu(4);
</script>
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表