Къде ми е грешката в този код

JivkaG

Registered
Начинаеща съм и се опитах да си направя падащо меню с този код но нещо не се появяват самите падащи менюта- защо?
<!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=iso-8859-1" />
<title>123456</title>
<script language="javascript" type="text/javascript">
var objNavMenu = null;
var prevObjNavMenu = null;
var prevObjDropMenu = null;
var numDropMenu = 5;
///////// Link styles
var bgLinkColor = `#cccccc`;
var bgLinkHover = `#ffffff`;
var bgLinkActive = `#000000`;
var linkColor = `#000000`;
var linkHover = `#000000`;
var linkActive = `#ffffff`;
var isO = null;
if (navigator.appName.indexOf(`Opera`)!= -1) isO=1;
function initDropMenu () {
document.onclick = hideDropMenu;
for (i=1; i<=numDropMenu; i++) {
menuName = `dropMenu` +i;
navName = `navMenu` +i;
objDropMenu = document.getElementById(menuName);
objNavMenu = document.getElementById(navMenu);
onjDropMenu.style.visibility = `hidden`;
objNavMenu.onmouseover = menuHover;
objNavMenu.onmouseout = menuOut;
objNavMenu.onclick = showDropMenu;
}
objNavMenu = null;
return;

}
function menuHover(e) {
document.onclick = null;
hoverObjNavMenu = document.getElementById(this.id);
if (hoverObjNavMenu !=objNavMenu) {
hoverObjNavMenu.style.color = linkHover;
hoverObjNavMenu.style.backgroundColor = bgLinkHover;
}
}
function menuOut(e) {
document.onclick = hideDropMenu;
outObjNavMenu = document.getElementById(this.id);
if (outObjNavMenu !=objNavMenu) {
outObjNavMenu.style.color = linkColor;
outObjNavMenu.style.backgroundColor = bgLinkColor;
}
}
function showDropMenu(e) {
menuName = `drop` + this.id.substring(5, this.id.lenght);
objDropMenu = document.getElementById(menuName);
if (prevObjDropMenu ==objDropMenu) {
outObjNavMenu.style.color = linkColor;
hideDropMenu();
return;
}
if (prevObjDropMenu != null) hideDropMenu();
objNavMenu = document.getElementById(this.id);
if (prevObjNavpMenu !=objNavMenu) || (prevObjDropMenu == null)) {
objNavMenu.style.color = linkActive;
objNavMenu.style.backgroundColor = bgLinkActive;
}
if (objDropMenu) {
xPos = objNavMenu.offsetParent.offsetLeft + objNavMenu.offsetLeft;
yPos = objNavMenu.offsetParent.offsetTop + objNavMenu.offsetParent.offsetHeight;
if (isO) {
yPos -= 1;
xPos -= 6;
}
objDropMenu.style.left = xPos + `px`;
objDropMenu.style.top = yPos + `px`;
objDropMenu.style.visibility= `visible`;
prevObjDropMenu = objDropMenu;
prevObjNavMenu = objNavMenu;
}
}
function hideDropMenu () {
document.onclick = null;
if (prevObjDropMenu) {
prevObjDropMenu.style.visibility= `hidden`;
prevObjDropMenu = null;
prevObjNavMenu.style.color = linkColor;
prevObjNavMenu.style.backgroundColor = bgLinkColor;
}
objNavMenu = null;
}
</script>
<style type="text/css" media="screen"></style>

</head>

<body bgcolor="#FFFFFF"
onload="initDropMenu()">
<div id="menuBar">
<div id="navMenu1" class="menuHeader"> Menu 1</div><div id="navMenu2" class="menuHeader">Menu 2 </div><div id="navMenu3" class="menuHeader"> Menu 3</div><div id="navMenu4" class="menuHeader"> Menu 4</div><div id="navMenu5" class="menuHeader"> Menu 5</div>
</div>
<div id="dropMenu1" class="menuDrop">
<a class="menuLink" href="<a href="box_pse7_112x112.jpg"></a>" onfocus="if(this.blur)this.blur();"> Link 1</a>
<a class="menuLink" href="<a href="box_pse7_112x112.jpg"></a>" onfocus="if(this.blur)this.blur();"> Link 2</a>
<a class="menuLink" href="<a href="box_pse7_112x112.jpg"></a>" onfocus="if(this.blur)this.blur();"> Link 3</a>


</div>

</body>
</html>
 
Вземи ето този код !
Код:
<html>
<head>
<title>Cascading Menu</title>
</head>
<body>
<script language="JavaScript">
function goToURL() { history.go(-1); }
</script>
 <style>
 .menu
 {
  background-color:#2B6Ebb;
  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: #E9F0F8;
  width: 148px;
  font-size: 10px;
  font-family: verdana;
 
 }
 </style>
 <script language="JavaScript">  
 var height = 20; // height of the menu headers
 var iheight = 15; // height of the menu_items  
 var bgc = "#E9F0F8" // background color of the item
 var tc = "black" // text color of the item  
 var over_bgc = "white";
 var over_tc = "#004891";  
 var speed = 0;
 var timerID = "";
 var N = (document.all) ? 0 : 1;
 var width = 152;
 var self_menu = new Array();
function write_menu()
{
 smc = 0; // count the position of the self_menu
 document.write("<div style='position:absolute'>");
 mn = 0;
 mni = 1;
 start = -1;  
 for(i=0;i<Link.length;i++)
 {
  la = Link[i].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[i][2] == 1)
   {open_item += self_menu[i][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[i][3] == nr) pull_down(i,nr)
 i==self_menu.length;
}
}
}  
</script>
<table width=150><tr><td>
 <script language="JavaScript">
     //Link[nr] = "position [0 is menu/1 is item],Link name,url,target (blank|top|frame_name)"
 var Link = new Array();
 Link[0] = "0|Home";
 Link[1] = "1|Home|http://www.bravenet.com|";
 Link[2] = "1|Web Hosting|http://www.bravenet.com/webhosting/index.php|";
 Link[3] = "1|Web Tools|http://www.bravenet.com/webtools/index.php|";
 Link[4] = "1|Developer Resources|http://www.bravenet.com|";
 Link[5] = "0|Access";
 Link[6] = "1|Login|http://www.bravenet.com/signup/tos.php|";
 Link[7] = "1|Lost Password|http://www.bravenet.com/global/lostpassword.php|"
 Link[8] = "0|Help";
 Link[9] = "1|Help|http://www.bravenet.com/help/index.php|";
 Link[10] = "1|Copy/Paste|http://www.bravenet.com/help/copypaste.php|";
 Link[11] = "0|Advertise";
 Link[12] = "1|your ad here|";
 startup(4);
 </script>
 </td>
</tr>
</table><br><br><br><br><br><br>
</body>
</html>
 
veskozzz нейното меню и това, което си дал нямат нищо общо. Ето ти две падащи менюта:
http://4storing.com/99t26o/ac371a60eca523046c2a4d756d63e643.html
http://4storing.com/w7mlh8/170bae07cd0a371d51c1e3112983197d.html
 

Горе