Någon som har ett bra exempel på trädstruktur...?

JavaScript

3 svar · 176 visningar · startad av RDL

Medlem sedan mars 2001344 inlägg
Trådstart#1

Har sett på flera sidor bla aspfree.com att de använder sig av en trädmeny.. någon som har ett bra script till detta?

Medlem sedan juni 20012 236 inlägg
#2

Hej,

Jag har säkert lagt in denna 5 gånger nu... Allt du behöver fixa är lite bilder så att det ser ut som det verkligen är en trädstruktur.

Om du behöver en trestegs struktur så lade jag in ett exempel (också i jS, DHTML...hmmm...i förra veckan tror jag...

Lycka till!

MvH

/A

<HTML>

<HEAD>

<style type="text/css">
a
{text-decoration: none;}

.title
{position: absolute;
width: 208px;
height: 20px;
left: 10px;
z-index: 10;
font-family: verdana;
font-size: 12px;}

.submenu
{position: absolute;
left: 25px;
width: 208px;
font-family: verdana;
font-size: 10px;
visibility: hidden;}
</style>

<SCRIPT LANGUAGE="JavaScript">
<!--

// ADDITIONAL NOTES
// The input variables to the toggle function are the number of the submenu to open/close,
// starting with 0, and the number of pixels to move the objects below.
// For example toggle(1,60) opens/closes the second submenu and moves the objects below 60 pixels.

var nom = 4; // !!!!!!!!!!!! NUMBER OF MENUS IMPORTANT YOU ARE USING !!!!!!!!!!!!
var usePictures = 1; // use pictures? 1 = yes, 0 = no

var ttls = new Array(); // An array for the title objects
var subs = new Array(); // An array for the submenu objects
var lastn;
var lastmove;

if (document.layers) {
visible = 'show';
hidden = 'hide';
}
else
if (document.all) {
visible = 'visible';
hidden = 'hidden';
}
for (var i = 1; i <= nom; i++) {
ttls = ('title' + i);
subs = ('submenu' +i);
}
function picopen(n) {
title = ('title' + n);
pic = ('pic' + n);
if (document.layers) {
document.layers[title].document.images[pic].src = "images/folder.jpg";
}
else if (document.all) {
document.all(pic).src = "images/folder.jpg";
}
}
function picclose(n) {
title = ('title' + n);
pic = ('pic' + n);
if (document.layers) {
document.layers[title].document.images[pic].src = "images/artikel.jpg";
}
else if (document.all) {
document.all(pic).src = "images/artikel.jpg";
}
}
lastn = (nom + 1);
lastmove = 0;
function lasttoggle(n,move) {
if (n <= nom) {
menu = ('submenu' + n);
if (document.layers) {
submenu = document.layers[menu];
}
else if (document.all) {
submenu = document.all(menu).style;
}
if (submenu.visibility == visible) {
submenu.visibility = hidden;
picclose(n); // Remove this if you don't use pictures
for (var i = (n+1); i <= nom; i++) {
if (document.layers) {
document.layers[ttls].top -= move;
document.layers[subs].top -= move;
}
else if (document.all) {
document.all(ttls).style.pixelTop -= move;
document.all(subs).style.pixelTop -= move;
}
}
}
}
}
function toggle(n,move) {
menu = ('submenu' + n);
if (document.layers) {
submenu = document.layers[menu];
}
else if (document.all) {
submenu = document.all(menu).style;
}
if (submenu.visibility == visible) {
submenu.visibility = hidden;
if (usePictures) picclose(n);
for (var i = (n+1); i <= nom; i++) {
if (document.layers) {
document.layers[ttls].top -= move;
document.layers[subs].top -= move;
}
else if (document.all) {
document.all(ttls).style.pixelTop -= move;
document.all(subs).style.pixelTop -= move;
}
}
}
else {
submenu.visibility = visible;
if (usePictures) picopen(n);
if (lastn != n) {
lasttoggle(lastn,lastmove);
}
for (var i = (n+1); i <= nom; i++) {
if (document.layers) {
document.layers[ttls].top += move;
document.layers[subs].top += move;
}
if (document.all) {
document.all(ttls).style.pixelTop += move;
document.all(subs).style.pixelTop += move;
}
}
}
lastn = n;
lastmove = move;
}

function home()
{
top.self.location.href="admin.html";
}

// -->
</script>
</HEAD>

<BODY marginwidth="0" marginheight="0" leftmargin="0" topmargin="2" cellspacing="0" cellpadding="0">

<!--MENU 1-->
<div class="title" id="title1" style="top: 35px">
<a href="#" target="xxx" onclick="javascript: toggle(1,20); return false"><img name="pic1" src="images/folder.jpg" border="0"> MENU OPTION 1</a>
</div>
<div class="submenu" id="submenu1" style="top: 55px">
<img src="images/artikel.jpg"><a href="xxx.html" target="xxx">SubMenuOption<br>
</div>

<!--MENU 2-->
<div class="title" id="title2" style="top: 55px">
<a href="#" target="xxx" onclick="javascript: toggle(2,20); return false"><img name="pic2" src="images/folder.jpg" border="0"> MENU OPTION 2</a>
</div>
<div class="submenu" id="submenu2" style="top: 75px">
<img src="images/artikel.jpg"> <a href="xxx.html" target="xxx">SubMenuOption1</a><br>
</div>

<!--MENU 3-->
<div class="title" id="title3" style="top: 75px">
<a href="#" target="xxx" onclick="javascript: toggle(3,20); return false"><img name="pic3" src="images/folder.jpg" border="0"> MENU OPTION 3</a>
</div>
<div class="submenu" id="submenu3" style="top: 95px">
<img src="images/artikel.jpg"> <a href="xxx.html" target="xxx">SubMenuOption1</a><br>
</div>

<!--MENU 4-->
<div class="title" id="title4" style="top: 95px">
<a href="#" target="xxx" onclick="javascript: toggle(4,30); return false"><img name="pic4" src="images/folder.jpg" border="0"> MENU OPTION 4</a>
</div>
<div class="submenu" id="submenu4" style="top: 115px">
<img src="images/artikel.jpg"> <a href="xxx.html" target="xxx">SubMenuOption1</a><br>
<img src="images/artikel.jpg"> <a href="xxx.html" target="xxx">SubMenuOption2</a><br>
</div>

</BODY>

</HTML>

Medlem sedan mars 2001344 inlägg
#3

Tack annesophie! ;)

Medlem sedan juni 20012 236 inlägg
#4

You're welcome!

512 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
245 ms — deklarationer (db)
125 ms — hämta statistik (db)
138 ms — hämta tråd, inlägg och bilagor (db)
245 ms — ändringar (db)