A5下载 - 努力做内容最丰富最安全的下载站!

A5站长下载站

当前位置:A5下载 > 编程开发 > 网站开发 > JavaScript+CSS无限极分类效果完整实现方法

JavaScript+CSS无限极分类效果完整实现方法

时间:2015-12-23 09:45作者:fang人气:222

本文实例讲述了JavaScript+CSS无限极分类效果完整实现方法。分享给大家供大家参考,具体如下:

CSS样式:

a {text-decoration:none;}

a,a:visited {color:#000;background:inherit;}

body {margin:0;padding:20px;font:12px tahoma,宋体,sans-serif;}

dt {font-size:22px;font-weight:bold;margin:0 0 0 15px;}

dd {margin:0 0 0 15px;}

h4 {margin:0;padding:0;font-size:18px;text-align:center;}

p {margin:0;padding:0 0 0 18px;}

p a,p a:visited {color:#00f;background:inherit;}

/*CNLTreeMenu Start*/

.CNLTreeMenu img.s {cursor:pointer;vertical-align:middle;}

.CNLTreeMenu ul {padding:0;}

.CNLTreeMenu li {list-style:none;padding:0;}

.Closed ul {display:none;}

.Child img.s {background:none;cursor:default;}

#CNLTreeMenu1 ul {margin:0 0 0 17px;}

#CNLTreeMenu1 img.s {width:20px;height:15px;}

#CNLTreeMenu1 .Opened img.s {background:url(skin1/opened.gif) no-repeat 0 0;}

#CNLTreeMenu1 .Closed img.s {background:url(skin1/closed.gif) no-repeat 0 0;}

#CNLTreeMenu1 .Child img.s {background:url(skin1/child.gif) no-repeat 3px 5px;}

#CNLTreeMenu2 ul {margin:0 0 0 17px;}

#CNLTreeMenu2 img.s {width:17px;height:15px;}

#CNLTreeMenu2 .Opened img.s {background:url(skin2/opened.gif) no-repeat 4px 6px;}

#CNLTreeMenu2 .Closed img.s {background:url(skin2/closed.gif) no-repeat 3px 6px;}

#CNLTreeMenu2 .Child img.s {background:url(skin2/child.gif) no-repeat 3px 5px;}

#CNLTreeMenu3 ul {margin:0 0 0 17px;}

#CNLTreeMenu3 img.s {width:34px;height:18px;}

#CNLTreeMenu3 .Opened img.s {background:url(skin3/opened.gif) no-repeat 0 1px;}

#CNLTreeMenu3 .Closed img.s {background:url(skin3/closed.gif) no-repeat 0 1px;}

#CNLTreeMenu3 .Child img.s {background:url(skin3/child.gif) no-repeat 13px 2px;}

/*CNLTreeMenu End*/

/*Temp CSS for View Demo*/

#CNLTreeMenu1,#CNLTreeMenu2,#CNLTreeMenu3 {float:left;width:249px;border:1px solid #99BEEF;background:#D2E4FC;color:inherit;margin:3px;padding:3px;}

#CNLTreeMenu1,#CNLTreeMenu2 {padding-bottom:15px;}

.ViewCode {

clear:both;

border:1px solid #FFB900;background:#FFFFCC;color:inherit;margin:3px;padding:3px;

}

.ViewCode h6 {color:#00f;}

JavaScript代码:

function Ob(o){

var o=document.getElementById(o)?document.getElementById(o):o;

return o;

}

function Hd(o) {

Ob(o).style.display="none";

}

function Sw(o) {

Ob(o).style.display="";

}

function ExCls(o,a,b,n){

var o=Ob(o);

for(i=0;i<n;i++) {o=o.parentNode;}

o.className=o.className==a?b:a;

}

function CNLTreeMenu(id,TagName0) {

this.id=id;

this.TagName0=TagName0==""?"li":TagName0;

this.AllNodes = Ob(this.id).getElementsByTagName(TagName0);

this.InitCss = function (ClassName0,ClassName1,ClassName2,ImgUrl) {

this.ClassName0=ClassName0;

this.ClassName1=ClassName1;

this.ClassName2=ClassName2;

this.ImgUrl=ImgUrl || "css/s.gif";

this.ImgBlankA ="<img src=""+this.ImgUrl+"" class="s" onclick="ExCls(this,'"+ClassName0+"','"+ClassName1+"',1);" alt="展开/折叠" />";

this.ImgBlankB ="<img src=""+this.ImgUrl+"" class="s" />";

for (i=0;i<this.AllNodes.length;i++ ) {

this.AllNodes[i].className==""?this.AllNodes[i].className=ClassName1:"";

this.AllNodes[i].innerHTML=(this.AllNodes[i].className==ClassName2?this.ImgBlankB:this.ImgBlankA)+this.AllNodes[i].innerHTML;

}

}

this.SetNodes = function (n) {

var sClsName=n==0?this.ClassName0:this.ClassName1;

for (i=0;i<this.AllNodes.length;i++ ) {

this.AllNodes[i].className==this.ClassName2?"":this.AllNodes[i].className=sClsName;

}

}

}

HTML页面:

<!--CNLTreeMenu Start:-->

<div class="CNLTreeMenu" id="CNLTreeMenu1">

<h4>CNL Tree Menu1</h4>

<p><a id="AllOpen_1" href="#" onclick="MyCNLTreeMenu1.SetNodes(0);Hd(this);Sw('AllClose_1');">全部展开</a><a id="AllClose_1" href="#" onclick="MyCNLTreeMenu1.SetNodes(1);Hd(this);Sw('AllOpen_1');" style="display:none;">全部折叠</a></p>

<ul>

<li class="Opened"><a href="http://www.jb51.net">JB51.Net</a>

<ul>

<li><a href="#1">技术区</a>

<ul>

<li><a href="#">网页技术</a>

<ul>

<li class="Child"><a href="#">JavaScript</a></li><!--Child Node-->

<li class="Child"><a href="#">HTML/XHTML/CSS</a></li>

<li class="Child"><a href="#">Ajax</a></li>

<li class="Child"><a href="#">网页制作工具</a></li>

<li class="Child"><a href="#">设计/图形</a></li>

<li class="Child"><a href="#">Flash/多媒体</a></li>

<li class="Child"><a href="#">VML/Web3D</a></li>

</ul></li><!--Sub Node 3-->

<li><a href="#">Web编程</a>

<ul>

<li class="Child"><a href="#">Java</a></li><!--Child Node-->

<li class="Child"><a href="#">.Net</a></li>

<li class="Child"><a href="#">ASP/VBScript</a></li>

<li class="Child"><a href="#">PHP</a></li>

<li class="Child"><a href="#">Perl/Python</a></li>

<li class="Child"><a href="#">Web综合/开源</a></li>

</ul></li><!--Sub Node 3-->

<li><a href="#">数据库</a>

<ul>

<li class="Child"><a href="#">Access/SQLServer</a></li><!--Child Node-->

<li class="Child"><a href="#">MySQL/PostgreSQL</a></li>

<li class="Child"><a href="#">Oracle/DB2/Sybase</a></li>

</ul></li><!--Sub Node 3-->

<li><a href="#">服务器</a>

<ul>

<li class="Child"><a href="#">Windows/IIS</a></li><!--Child Node-->

<li class="Child"><a href="#">Unix/Linux/Apache</a></li>

<li class="Child"><a href="#">应用服务器</a></li>

</ul></li><!--Sub Node 3-->

</ul></li><!--Sub Node 2-->

<li><a href="#1">二级目录</a>

<ul>

<li><a href="#">三级目录</a>

<ul>

<li><a href="#">四级目录</a>

<ul>

<li><a href="#">五级目录</a>

<ul>

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

<ul>

<li><a href="#">第n级目录</a>

<ul>

<li class="Child"><a href="#">叶结点1</a></li><!--Child Node-->

<li class="Child"><a href="#">叶结点2</a></li>

<li class="Child"><a href="#">叶结点3</a></li>

</ul></li><!--Sub Node n -->

</ul></li><!--Sub Node 6 -->

</ul></li><!--Sub Node 5 -->


</ul></li><!--Sub Node 4-->

</ul></li><!--Sub Node 3-->

</ul></li><!--Sub Node 2-->

<li><a href="#1">二级目录</a>

<ul>

<li><a href="#">三级目录</a>

<ul>

<li><a href="#">四级目录</a>

<ul>

<li><a href="#">五级目录</a>

<ul>

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

<ul>

<li><a href="#">第n级目录</a>

<ul>

<li class="Child"><a href="#">叶结点1</a></li><!--Child Node-->

<li class="Child"><a href="#">叶结点2</a></li>

<li class="Child"><a href="#">叶结点3</a></li>

</ul></li><!--Sub Node n -->

</ul></li><!--Sub Node 6 -->

</ul></li><!--Sub Node 5 -->

</ul></li><!--Sub Node 4-->

</ul></li><!--Sub Node 3-->

</ul></li><!--Sub Node 2-->

</ul></li><!--Sub Node 1 -->

</ul>

</div><!-- CNLTreeMenu -->

<!--CNLTreeMenu1 End!-->

希望本文所述对大家JavaScript程序设计有所帮助。

标签JavaScript+CSS,无限,分类,效果,完整,实现

相关下载

查看所有评论+

网友评论

网友
您的评论需要经过审核才能显示

公众号