Ben sinds kort bezig in dreamweaver (echte beginner dus) en tracht een javascript met een verticaal menu (download van internet) te plaatsen in het linker frame (fixed top, nested left). Bij het bekijken van het resultaat in de browser is slechts een klein deel zichtbaar. Kan iemand mij hierbij helpen.
Dit is de code;
<!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>
<script language="JavaScript">
function goToURL() { history.go(-1); }
</script>
<style>
.menu
{
background-color:#6666FF;
border:1px solid darkblue;
width:150px;
font-size:11px;
font-family:verdana;
position: absolute;
font:bold;
color: #ffffff;
cursor: hand;
}
.item_panel
{
width:150px;
border-left:1px solid darkblue;
border-right:1px solid darkblue;
clip:rect(0,150,0,0);
position:absolute;
}
.item_panel a
{
text-decoration:none;
color:black;
cursor:hand;
}
.item
{
background-color: #99CCFF;
width: 148px;
font-size: 10px;
font-family: verdana;
}
</style>
<script language="JavaScript">
var height = 20; // Hoogte van de hoofdmenu linken
var iheight = 15; // hoogte van de menu elementen
var bgc = "#D8D8D8" // Achtergrondkleur menu element
var tc = "black" // text kleur van het menu element
var over_bgc = "#FFFFFF";//achtergrondkleur menu item bij mouse-over
var over_tc = "#FF0000"; //teskt kleur bij mouse-over
var speed = 0;
var timerID = "";
var N = (document.all) ? 0 : 1;
var width = 152;
var self_menu = new Array();
function write_menu()
{
smc = 0;
document.write("<div style='position:absolute'>");
mn = 0;
mni = 1;
start = -1;
for(i=0;i<Link.length;i++)
{
la = Link.split("|");
if (la[0] == "0")
{
if(start == 0)
{
document.write("</div>");
h = csmc * iheight;
tmn = mn; //-h
self_menu[smc] = new Array(tmn,h,0,-2);
smc++;
mn--;
}
csmc = 0;
document.write("<div class='menu' style='top:"+mn+";height:"+height+"' id='down"+smc+"' onclick='pull_down("+smc+","+mni+")'> "+ la[1] + "</div>");
self_menu[smc] = new Array(mn,height,0,mni);
smc++;
mni++;
mn+=height;
start = 1;
}
else
{
if(start == 1)
{
if(N)mn+=2;
document.write("<div class='item_panel' id='down"+smc+"' style='top:"+mn+"'>");
start = 0;
}
document.write("<a href='"+la[2]+"'");
if (la[3] != "") document.write(" target='" + la[3] + "' ");
document.write("><div class='item' id='d"+i+"' style='height:"+iheight);
if (N) document.write(";width:150");
document.write("' onmouseover='color(this.id)' onmouseout='uncolor(this.id)'> "+ la[1] + "</div></a>");
csmc++;
}
}
if (start == 0)
{
document.write("</div>");
h = csmc * iheight;
tmn = mn + 5; //-h
self_menu[smc] = new Array(tmn,h,0);
name = "down" + (self_menu.length-1);
obj = document.getElementById(name);
obj.style.borderBottomColor = "darkblue";
obj.style.borderBottomWidth = 1;
obj.style.borderBottomStyle = "solid";
}
document.write("</div>");}
function color(obj)
{
document.getElementById(obj).style.backgroundColor = over_bgc;
document.getElementById(obj).style.color = over_tc
}
function uncolor(obj)
{
document.getElementById(obj).style.backgroundColor = bgc;
document.getElementById(obj).style.color = tc
}
function pull_down(nr,c)
{
if (timerID == "")
{
to = self_menu[nr+1][1]
begin = nr + 2;
if (timerID != "") clearTimeout(timerID);
if (self_menu[nr+1][2] == 0)
{
self_menu[nr+1][2] = 1;
if(nr == self_menu.length-2) {to++;}
epull_down(begin,to,0);
}
else
{
to = 0;
self_menu[nr+1][2] = 0;
name = "down"+(nr+2);
open_item = 0;
for(i=0;i<nr;i++)
{
if(self_menu[2] == 1)
{open_item += self_menu[1];
}
}
if (N == false) {open_item-= (c*1)};
if (nr== self_menu.length-2) {val = self_menu[self_menu.length-1][1];to=-1;}
else val = parseInt(document.getElementById(name).style.top) -(open_item)-(c*height);
epull_up(begin,to,val);
}
}
}
function epull_down(nr,to,nowv)
{
name = "down" + (nr-1);
obj = document.getElementById(name).style.clip = "rect(0,"+width+","+(nowv+1)+",0)";
for (i=nr;i<self_menu.length;i++)
{
name = "down" + i;
obj = document.getElementById(name);
obj.style.top = parseInt(obj.style.top)+1;
}
nowv++;
if(nowv < to) timerID = setTimeout("epull_down("+nr+","+to+","+nowv+")",speed);
else timerID = "";
}
function epull_up(nr,to,nowv)
{
name = "down" + (nr-1);
obj = document.getElementById(name).style.clip = "rect(0,"+width+","+nowv+",0)";
for (i=nr;i<self_menu.length;i++)
{
name = "down" + i;
obj = document.getElementById(name);
obj.style.top = parseInt(obj.style.top)-1;
}
nowv--;
if(nowv > to) timerID = setTimeout("epull_up("+nr+","+to+","+nowv+")",speed);
else timerID = "";
}
function startup(nr)
{
write_menu();
if (nr != 0)
{
for(i=0;i<self_menu.length;i++)
{
if(self_menu[3] == nr) pull_down(i,nr)
i==self_menu.length;
}
}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title></head>
<body>
<left>
<table width=140 height="1796">
<tr>
<td height="1802" align="left"><script language="JavaScript">
//Link[nr] = "positie [0 is menu/1 is een item],Link naam ,url,target (blank|top|frame_naam)"
// je kunt eenvoudig items toevoegen, gewoon doornummeren
var Link = new Array();
Link[0] = "0|Hoofd link 1";
Link[1] = "1|Sublink 1|http://www.leejoo.nl|blank";
Link[2] = "1|Sublink 1|http://www.leejoo.nl|blank";
Link[3] = "1|Sublink 1|http://www.leejoo.nl|blank";
Link[4] = "1|Sublink 1|http://www.leejoo.nl|blank";
Link[5] = "0|Hoofd link 2";
Link[6] = "1|Sublink 2|http://www.leejoo.nl|blank";
Link[7] = "1|Sublink 2|http://www.leejoo.nl|blank";
Link[8] = "1|Sublink 2|http://www.leejoo.nl|blank";
Link[9] = "1|Sublink 2|http://www.leejoo.nl|blank"
Link[10] = "0|Hoofd link 3";
Link[11] = "1|Sublink 3|http://www.leejoo.nl|blank";
Link[12] = "1|Sublink 3|http://www.leejoo.nl|blank";
Link[13] = "0|Hoofd link 4";
Link[14] = "1|Sublink 4|http://www.leejoo.nl|blank";
Link[15] = "1|Sublink 4|http://www.leejoo.nl|blank";
Link[16] = "1|Sublink 4|http://www.leejoo.nl|blank";
Link[17] = "1|Sublink 4|http://www.leejoo.nl|blank";
Link[18] = "0|Hoofd link 5";
Link[19] = "1|Sublink 5|http://www.leejoo.nl|blank";
Link[20] = "1|Sublink 5|http://www.leejoo.nl|blank";
Link[21] = "1|Sublink 5|http://www.leejoo.nl|blank";
Link[22] = "1|Sublink 5|http://www.leejoo.nl|blank";
startup(0);
</script></td>
</tr>
</table>
</body>
</html>
Dit is de code;
<!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>
<script language="JavaScript">
function goToURL() { history.go(-1); }
</script>
<style>
.menu
{
background-color:#6666FF;
border:1px solid darkblue;
width:150px;
font-size:11px;
font-family:verdana;
position: absolute;
font:bold;
color: #ffffff;
cursor: hand;
}
.item_panel
{
width:150px;
border-left:1px solid darkblue;
border-right:1px solid darkblue;
clip:rect(0,150,0,0);
position:absolute;
}
.item_panel a
{
text-decoration:none;
color:black;
cursor:hand;
}
.item
{
background-color: #99CCFF;
width: 148px;
font-size: 10px;
font-family: verdana;
}
</style>
<script language="JavaScript">
var height = 20; // Hoogte van de hoofdmenu linken
var iheight = 15; // hoogte van de menu elementen
var bgc = "#D8D8D8" // Achtergrondkleur menu element
var tc = "black" // text kleur van het menu element
var over_bgc = "#FFFFFF";//achtergrondkleur menu item bij mouse-over
var over_tc = "#FF0000"; //teskt kleur bij mouse-over
var speed = 0;
var timerID = "";
var N = (document.all) ? 0 : 1;
var width = 152;
var self_menu = new Array();
function write_menu()
{
smc = 0;
document.write("<div style='position:absolute'>");
mn = 0;
mni = 1;
start = -1;
for(i=0;i<Link.length;i++)
{
la = Link.split("|");
if (la[0] == "0")
{
if(start == 0)
{
document.write("</div>");
h = csmc * iheight;
tmn = mn; //-h
self_menu[smc] = new Array(tmn,h,0,-2);
smc++;
mn--;
}
csmc = 0;
document.write("<div class='menu' style='top:"+mn+";height:"+height+"' id='down"+smc+"' onclick='pull_down("+smc+","+mni+")'> "+ la[1] + "</div>");
self_menu[smc] = new Array(mn,height,0,mni);
smc++;
mni++;
mn+=height;
start = 1;
}
else
{
if(start == 1)
{
if(N)mn+=2;
document.write("<div class='item_panel' id='down"+smc+"' style='top:"+mn+"'>");
start = 0;
}
document.write("<a href='"+la[2]+"'");
if (la[3] != "") document.write(" target='" + la[3] + "' ");
document.write("><div class='item' id='d"+i+"' style='height:"+iheight);
if (N) document.write(";width:150");
document.write("' onmouseover='color(this.id)' onmouseout='uncolor(this.id)'> "+ la[1] + "</div></a>");
csmc++;
}
}
if (start == 0)
{
document.write("</div>");
h = csmc * iheight;
tmn = mn + 5; //-h
self_menu[smc] = new Array(tmn,h,0);
name = "down" + (self_menu.length-1);
obj = document.getElementById(name);
obj.style.borderBottomColor = "darkblue";
obj.style.borderBottomWidth = 1;
obj.style.borderBottomStyle = "solid";
}
document.write("</div>");}
function color(obj)
{
document.getElementById(obj).style.backgroundColor = over_bgc;
document.getElementById(obj).style.color = over_tc
}
function uncolor(obj)
{
document.getElementById(obj).style.backgroundColor = bgc;
document.getElementById(obj).style.color = tc
}
function pull_down(nr,c)
{
if (timerID == "")
{
to = self_menu[nr+1][1]
begin = nr + 2;
if (timerID != "") clearTimeout(timerID);
if (self_menu[nr+1][2] == 0)
{
self_menu[nr+1][2] = 1;
if(nr == self_menu.length-2) {to++;}
epull_down(begin,to,0);
}
else
{
to = 0;
self_menu[nr+1][2] = 0;
name = "down"+(nr+2);
open_item = 0;
for(i=0;i<nr;i++)
{
if(self_menu[2] == 1)
{open_item += self_menu[1];
}
}
if (N == false) {open_item-= (c*1)};
if (nr== self_menu.length-2) {val = self_menu[self_menu.length-1][1];to=-1;}
else val = parseInt(document.getElementById(name).style.top) -(open_item)-(c*height);
epull_up(begin,to,val);
}
}
}
function epull_down(nr,to,nowv)
{
name = "down" + (nr-1);
obj = document.getElementById(name).style.clip = "rect(0,"+width+","+(nowv+1)+",0)";
for (i=nr;i<self_menu.length;i++)
{
name = "down" + i;
obj = document.getElementById(name);
obj.style.top = parseInt(obj.style.top)+1;
}
nowv++;
if(nowv < to) timerID = setTimeout("epull_down("+nr+","+to+","+nowv+")",speed);
else timerID = "";
}
function epull_up(nr,to,nowv)
{
name = "down" + (nr-1);
obj = document.getElementById(name).style.clip = "rect(0,"+width+","+nowv+",0)";
for (i=nr;i<self_menu.length;i++)
{
name = "down" + i;
obj = document.getElementById(name);
obj.style.top = parseInt(obj.style.top)-1;
}
nowv--;
if(nowv > to) timerID = setTimeout("epull_up("+nr+","+to+","+nowv+")",speed);
else timerID = "";
}
function startup(nr)
{
write_menu();
if (nr != 0)
{
for(i=0;i<self_menu.length;i++)
{
if(self_menu[3] == nr) pull_down(i,nr)
i==self_menu.length;
}
}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title></head>
<body>
<left>
<table width=140 height="1796">
<tr>
<td height="1802" align="left"><script language="JavaScript">
//Link[nr] = "positie [0 is menu/1 is een item],Link naam ,url,target (blank|top|frame_naam)"
// je kunt eenvoudig items toevoegen, gewoon doornummeren
var Link = new Array();
Link[0] = "0|Hoofd link 1";
Link[1] = "1|Sublink 1|http://www.leejoo.nl|blank";
Link[2] = "1|Sublink 1|http://www.leejoo.nl|blank";
Link[3] = "1|Sublink 1|http://www.leejoo.nl|blank";
Link[4] = "1|Sublink 1|http://www.leejoo.nl|blank";
Link[5] = "0|Hoofd link 2";
Link[6] = "1|Sublink 2|http://www.leejoo.nl|blank";
Link[7] = "1|Sublink 2|http://www.leejoo.nl|blank";
Link[8] = "1|Sublink 2|http://www.leejoo.nl|blank";
Link[9] = "1|Sublink 2|http://www.leejoo.nl|blank"
Link[10] = "0|Hoofd link 3";
Link[11] = "1|Sublink 3|http://www.leejoo.nl|blank";
Link[12] = "1|Sublink 3|http://www.leejoo.nl|blank";
Link[13] = "0|Hoofd link 4";
Link[14] = "1|Sublink 4|http://www.leejoo.nl|blank";
Link[15] = "1|Sublink 4|http://www.leejoo.nl|blank";
Link[16] = "1|Sublink 4|http://www.leejoo.nl|blank";
Link[17] = "1|Sublink 4|http://www.leejoo.nl|blank";
Link[18] = "0|Hoofd link 5";
Link[19] = "1|Sublink 5|http://www.leejoo.nl|blank";
Link[20] = "1|Sublink 5|http://www.leejoo.nl|blank";
Link[21] = "1|Sublink 5|http://www.leejoo.nl|blank";
Link[22] = "1|Sublink 5|http://www.leejoo.nl|blank";
startup(0);
</script></td>
</tr>
</table>
</body>
</html>