HTML中树的实现方法

2016-02-19 20:35 443 1 收藏

下面是个简单易学的HTML中树的实现方法教程,图老师小编详细图解介绍包你轻松学会,喜欢的朋友赶紧get起来吧!

【 tulaoshi.com - Web开发 】

  利用javascirpt我们可以很容易的在HTML中实现树,而不需要使用ASP,JSP,PHP等等编写动态程序,当然如果要和数据库结合,下面的代码也很容易移植。

  首先,我们看一下实现这个树形结构的javascript代码。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

  common.js
以下是引用片段:
!--
function showCurrentSection()
{  
 var objCurrentSection = document.getElementById("navcurrentsection");  
 if (objCurrentSection != null)
 {
  objCurrentSection.style.display = "block";   
  objCurrentSection.parentElement.childNodes[0].className = "open";
  if (objCurrentSection.parentElement.parentElement.nodeName == "UL")
   showSection(objCurrentSection.parentElement.parentElement);  
 }
}
function showSection(objSection)

 objSection.style.display = "block";
 objSection.parentElement.childNodes[0].className = "open"; 
 if (objSection.parentElement.parentElement != null && objSection.parentElement.parentElement.nodeName == "UL")
  showSection(objSection.parentElement.parentElement);
}
--

  下面是实现树的静态HTML文件,很简单的啊。
  example1.html
以下是引用片段:
!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" xml:lang="en" lang="en"
 head
  titleCurrent Tree Node Opener/title  
  meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /
  link rel="stylesheet" href="tree.css" type="text/css" media="screen" /    
  meta http-equiv="expires" content="-1" /
  meta http-equiv="pragma" content="no-cache" /
  meta name="robots" content="none" /
  meta name="rating" content="all" /
  meta name="author" content="Bluegrass Technologies" /
  meta name="email" content="paulw@bluegrassgroup.com" /  
  script language="javascript" type="text/javascript" src="common.js"/script
 /head
 body onload="showCurrentSection();"
  ul id="menu"
   lia href="a.htm"Section 1/a/li
   lia href=""Section 2/a
    ul
     lia href=""Section 2.1/a/li
     lia href=""Section 2.2/a/li
     lia href=""Section 2.3/a
      ul id="navcurrentsection"
       lia href=""Section 2.3.1/a/li
       lia href=""Section 2.3.2/a/li       
      /ul
     /li
     lia href=""Section 2.4/a/li 

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)   /ul
   /li
   lia href=""Section 3/a/li   
  /ul
 /body
/html
下面是树的样式表
tree.css
body
{
 font-family: Verdana, Arial, Sans-Serif;
 font-size: small;
 background-color: #ffffff; 
}
ul#menu
{
 border: solid 1px #333333;
 border-top-width: 15px;
 padding: 10px;
 padding-top: 6px;
 margin: 0px;
 width: 200px;
}
ul#menu li
{
 margin: 0px;
 list-style-type: none;  
 border: solid 1px #ffffff;
}
ul#menu li ul
{
 margin: 0px 0px 0px 15px;
 display: none;
}
ul#menu li a
{
 background-image: url(closed.gif);
 background-repeat: no-repeat;
 background-position: 0px 4px;
 text-indent: 15px;
 display: block;
 text-decoration: none; 
 color: #333333;
}
ul#menu li a:hover
{
 color: #000000;
 background-color: #eeeeee;
 background-image: url(open.gif);
}

  好了,到这里为止,我们已经实现了这个树,大家不妨亲自演示一下。

来源:http://www.tulaoshi.com/n/20160219/1624046.html

延伸阅读
标签: Web开发
 首先来了解一下windows 8 的贴靠,在windows 8 中的Metro应用可以将屏幕很好的进行分割.如下图 让用户在使用时可以非常方便的切换。 系统对贴靠也是有硬性规定的。最多两个屏幕,而且是一个大的一个小的。并且小屏的宽度是固定的 320像素。 所以当用户把网站贴成小屏幕,这个时候页面默认是等比例缩小的。如下图: 那么怎么很好...
Android中的TextView,本身就支持部分的Html格式标签。这其中包括常用的字体大小颜色设置,文本链接等。使用起来也比较方便,只需要使用Html类转换一下即可。 比如: textView.setText(Html.fromHtml(str)); 然而,有一种场合,默认支持的标签可能不够用。比如,我们需要在textView中点击某种链接,返回到应用中的某个界面,而不仅仅是网络...
标签: Web开发
前面两篇讲解了解析Html的思想个核心算法,感谢各位提出了意见。先专门列出一文作为解释: 1、ViewStates提到,“TD 阿道夫骄傲了沙发/TD”怎么办?这个是可以解析出来的,其中解析后节点名为“td”,而“ 阿道夫骄傲了沙发/TD”解析成了属性。 如图: 上面的图中,包含了上面提到的例子。 回复ml_dark兄 象这...
标签: Web开发
提示: 根据这几天的访问量跟踪,我发现很多访者都没有很好地关注到真正进行算法描述的章节《解析Html生成标签树(一)》,特此进行提示。 搜索引擎一个最重要的步骤就是,获得网页的正文内容,我相信每个人看见一篇网页的时候,从视觉上都很容易知道哪个部分是正文内容,哪个部分是版权信息,哪个部分是广告信息。但是要让计算...
标签: Web开发
解析Html成标签树结构以后,我们不但可以很容易取得想要的元素,同时也很容易将Html转换成对应的XML文件。但是由于代码是在公司写的,所以没有粘贴出来的可能性,所以我只能给出大概的代码流程,具体细节描述,相信各位都很容易写出来,并且写的比我好,关键的是算法实现思想。算法的关键如下: 1. Html中每个tag都是都将作...

经验教程

660

收藏

95
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部