`
hong0104
  • 浏览: 17180 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

js树型菜单

阅读更多

<!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=gb2312">

<title>Div+CSS+JS树型菜单,可刷新</title>

<meta name="description" content="http://www.livepo.com">

<style type="text/css">

<!--

*{margin:0;padding:0;border:0;}

body {

font-family: arial, 宋体, serif;

font-size:12px;

}

#nav {

width:180px;

    line-height: 24px; 

list-style-type: none;

text-align:left;

    /*定义整个ul菜单的行高和背景色*/

}

/*==================一级目录===================*/

#nav a {

width: 160px; 

display: block;

padding-left:20px;

/*Width(一定要),否则下面的Li会变形*/

}

#nav li {

background:#CCC; /*一级目录的背景色*/

border-bottom:#FFF 1px solid; /*下面的一条白边*/

float:left;

/*float:left,本不应该设置,但由于在Firefox不能正常显示

继承Nav的width,限制宽度,li自动向下延伸*/

}

#nav li a:hover{

background:#CC0000; /*一级目录onMouseOver显示的背景色*/

}

#nav a:link  {

color:#666; text-decoration:none;

}

#nav a:visited  {

color:#666;text-decoration:none;

}

#nav a:hover  {

color:#FFF;text-decoration:none;font-weight:bold;

}

/*==================二级目录===================*/

#nav li ul {

list-style:none;

text-align:left;

}

#nav li ul li{

background: #EBEBEB; /*二级目录的背景色*/

}

#nav li ul a{

         padding-left:20px;

         width:160px;

/* padding-left二级目录中文字向右移动,但Width必须重新设置=(总宽度-padding-left)*/

}

/*下面是二级目录的链接样式*/

#nav li ul a:link  {

color:#666; text-decoration:none;

}

#nav li ul a:visited  {

color:#666;text-decoration:none;

}

#nav li ul a:hover {

color:#F3F3F3;

text-decoration:none;

font-weight:normal;

background:#CC0000;

/* 二级onmouseover的字体颜色、背景色*/

}

/*==============================*/

#nav li:hover ul {

left: auto;

}

#nav li.sfhover ul {

left: auto;

}

#content {

clear: left; 

}

#nav ul.collapsed {

display: none;

}

-->

#PARENT{

width:300px;

padding-left:20px;

}

</style>

</head>

<body>

<div id="PARENT">

<ul id="nav">

<li><a href="#Menu=ChildMenu1"  onclick="DoMenu('ChildMenu1')">我的网站</a>

<ul id="ChildMenu1" class="collapsed">

<li><a href="http://www.netany.net" target="_blank">[url]www.netany.net[/url]</a></li>

<li><a href="http://www.netany.net" target="_blank">[url]www.netany.net[/url]</a></li>

<li><a href="http://www.netany.net" target="_blank">[url]www.netany.net[/url]</a></li>

</ul>

</li>

<li><a href="#Menu=ChildMenu2" onclick="DoMenu('ChildMenu2')">我的帐务</a>

<ul id="ChildMenu2" class="collapsed">

<a href="http://www.netany.net" target="_blank">支付</a></li>

<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="#Menu=ChildMenu3" onclick="DoMenu('ChildMenu3')">网站管理</a>

<ul id="ChildMenu3" class="collapsed">

<li><a href="#">登录</a></li>

<a href="http://www.netany.net" target="_blank">管理</a></li>

<li><a href="#">管理</a></li>

<li><a href="#">管理</a></li>

</ul>

</li>

<li><a href="#Menu=ChildMenu4" onclick="DoMenu('ChildMenu4')">网站管理</a>

<ul id="ChildMenu4" class="collapsed">

<li><a href="#">登录</a></li>

<a href="http://www.netany.net" target="_blank">管理</a></li>

<li><a href="#">管理</a></li>

<li><a href="#">管理</a></li>

</ul>

</li>

</ul>

</div>

<div style="width:300;padding-left:30px;">

</br></br>

工作需要搞了一个菜单,分享给大家,大家一齐学习

</br></br>

<p>请大家支持:<a href="http://www.netany.net" target="_blank">[url]http://www.netany.net[/url]</a></p>

</div>

</body>

</html>

<script type=text/javascript><!--

var LastLeftID = "";

function menuFix() {

var obj = document.getElementById("nav").getElementsByTagName("li");

for (var i=0; i<obj.length; i++) {

obj[i].onmouseover=function() {

this.className+=(this.className.length>0? " ": "") + "sfhover";

}

obj[i].onMouseDown=function() {

this.className+=(this.className.length>0? " ": "") + "sfhover";

}

obj[i].onMouseUp=function() {

this.className+=(this.className.length>0? " ": "") + "sfhover";

}

obj[i].onmouseout=function() {

this.className=this.className.replace(new RegExp("( ?|^)sfhover\\b"), "");

}

}

}

function DoMenu(emid)

{

var obj = document.getElementById(emid);

obj.className = (obj.className.toLowerCase() == "expanded"?"collapsed":"expanded");

if((LastLeftID!="")&&(emid!=LastLeftID)) //关闭上一个Menu

{

document.getElementById(LastLeftID).className = "collapsed";

}

LastLeftID = emid;

}

function GetMenuID()

{

var MenuID="";

var _paramStr = new String(window.location.href);

var _sharpPos = _paramStr.indexOf("#");

if (_sharpPos >= 0 && _sharpPos < _paramStr.length - 1)

{

_paramStr = _paramStr.substring(_sharpPos + 1, _paramStr.length);

}

else

{

_paramStr = "";

}

if (_paramStr.length > 0)

{

var _paramArr = _paramStr.split("&");

if (_paramArr.length>0)

{

var _paramKeyVal = _paramArr[0].split("=");

if (_paramKeyVal.length>0)

{

MenuID = _paramKeyVal[1];

}

}

/*

if (_paramArr.length>0)

{

var _arr = new Array(_paramArr.length);

}

//取所有#后面的,菜单只需用到Menu

//for (var i = 0; i < _paramArr.length; i++)

{

var _paramKeyVal = _paramArr[i].split('=');

if (_paramKeyVal.length>0)

{

_arr[_paramKeyVal[0]] = _paramKeyVal[1];

}

}

*/

}

if(MenuID!="")

{

DoMenu(MenuID)

}

}

GetMenuID(); //*这两个function的顺序要注意一下,不然在Firefox里GetMenuID()不起效果

menuFix();

--></script>

分享到:
评论

相关推荐

    无限级可刷新Js树型菜单

    总的来说,无限级可刷新Js树型菜单的实现涉及JavaScript基础、数据结构、DOM操作、事件处理、异步通信等多个知识点,需要结合实际应用场景灵活运用。通过熟练掌握这些技能,开发者可以创建出高效、用户友好的前端...

    经典的js树型菜单 javascript脚本

    在这个“经典的js树型菜单”示例中,我们将深入探讨如何使用JavaScript来创建一个可展开和折叠的树状菜单。 树型菜单在网站导航中非常常见,它可以帮助用户组织和浏览大量的层次结构信息。通过JavaScript,我们可以...

    简单好用的JS树型菜单

    总结来说,“简单好用的JS树型菜单”是一种利用JavaScript实现的交互式网页元素,它通过动态操作DOM和处理用户事件,实现了节点的展开折叠和动态添加。在设计和实现时,我们需要注意性能优化、可扩展性和无障碍性,...

    非常实用的JS树型菜单

    **JS树型菜单详解** JS树型菜单是一种常见的前端交互元素,它用于组织和展示具有层级关系的数据。在网页设计中,特别是在管理界面或者大型网站的导航系统中,树型菜单能够有效地帮助用户浏览和访问多级目录或分类。...

    Javascript树型菜单

    JavaScript树型菜单是一种在网页中展示层次结构数据的交互式元素,常用于网站导航、文件系统浏览或组织复杂数据。这种菜单通常以节点的形式呈现,每个节点可以展开或折叠,显示其子节点。在给定的文件列表中,我们...

    无限级可刷新Js树型菜单代码

    根据给定的信息,本文将详细解释“无限级可刷新Js树型菜单代码”的知识点,包括其功能、实现原理以及应用场景。 ### 一、无限级可刷新Js树型菜单概述 在网页开发中,树型菜单是一种非常常见的导航结构,它能够帮助...

    JS树型菜单的控件

    树型菜单控件是JS在Web应用中常见的一种交互元素,它以层级结构展示数据,使得用户能方便地浏览和操作多级目录或分类信息。在网页设计中,树型菜单常用于导航、文件管理、设置选项等场景。 创建JS树型菜单的核心...

    超酷的可刷新Js树型菜单,很漂亮

    【标题】"超酷的可刷新Js树型菜单,很漂亮" 涉及的主要知识点是JavaScript(Js)技术在创建动态交互式用户界面中的应用,特别是树形菜单的实现。树形菜单是一种常见的数据结构展示方式,常用于网站导航、文件系统...

    无限级可刷新Js树型菜单.

    总结来说,无限级可刷新Js树型菜单是一种实用的前端组件,它利用JavaScript和CSS实现动态展示和操作具有层级关系的数据。通过学习和使用提供的API,开发者可以轻松地将这样的树型菜单整合到自己的项目中,提升用户...

    Js树型菜单

    JavaScript(Js)树型菜单是一种常见的用户界面元素,它用于以层级结构展示数据,常见于文件管理器、网站导航和组织复杂数据的情况。在Web开发中,Js树型菜单能够帮助用户更直观地理解和操作多层关系的数据。本文将...

    一个简单的JS树型菜单

    本文将深入探讨“一个简单的JS树型菜单”这一主题,它基于Dtree实现,为用户提供直观的层级导航体验。Dtree是一款轻量级的JavaScript库,专门用于创建可交互的树形结构菜单。 首先,理解树型菜单的概念是关键。树型...

    JavaScript树型菜单 dtree

    JavaScript树型菜单dtree是一种常见的前端交互元素,用于在网页中展示层次结构的数据,比如目录、组织架构或者分类。在Web开发中,它为用户提供了一种直观、易于导航的方式来探索和操作多级数据。以下是对这个主题的...

Global site tag (gtag.js) - Google Analytics