SoFunction
Updated on 2025-04-07

JavaScript implements navigation menu effect with drop-down submenu

This article describes the effect of JavaScript implementing a navigation menu with a drop-down submenu. Share it for your reference. The specific implementation method is as follows:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http:///TR/xhtml1/DTD/">
<html xmlns="http:///1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Navigation menu with drop-down menu</title>
<style type="text/css">
body { font-family: Verdana; font-size: 12px; line-height: 1.5; }
a { color: #000; text-decoration: none; }
a:hover { color: #F00; }
#menu { width:500px; height:28px; margin:0 auto; border-bottom:3px solid #E10001;}
#menu ul { list-style: none; margin: 0px; padding: 0px; }
#menu ul li { float:left; margin-left:2px;}
#menu ul li a { display:block; width:87px; height:28px; line-height:28px; text-align:center; font-size:14px;}
#menu ul li a#current { font-weight:bold; color:#fff;}
#menu ul li ul { border:1px solid #ccc; display:none; position:absolute;}
#menu ul li ul li { float:none; width:87px; background:#eee; margin:0;}
#menu ul li ul li a { background:none;}
#menu ul li ul li a:hover { background:#333; color:#fff;}
#menu ul li:hover ul { display:block;}
#menu ul  ul { display:block;}
</style>
<script type="text/javascript"><!--  //--><![CDATA[//><!--
function menuFix() {
  var sfEls = ("menu").getElementsByTagName("li");
  for (var i = 0; i < ; i++) {
    sfEls[i].onmouseover = function () {
       += ( > 0 ? " " : "") + "sfhover";
    }
    sfEls[i].onMouseDown = function () {
       += ( > 0 ? " " : "") + "sfhover";
    }
    sfEls[i].onMouseUp = function () {
       += ( > 0 ? " " : "") + "sfhover";
    }
    sfEls[i].onmouseout = function () {
       = (new RegExp("( ?|^)sfhover\\b"),
    "");
    }
  }
}
 = menuFix;
//--><!]]>
</script>
</head>
<body>
<div >
<ul>
  &lt;li&gt;&lt;a  href="#">Home</a></li>  &lt;li&gt;&lt;a href="#">Web layout</a>    &lt;ul&gt;
      &lt;li&gt;&lt;a href="#">Adaptive Width</a></li>      &lt;li&gt;&lt;a href="#">Fixed width</a></li>    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;a href="#">web tutorial</a>    &lt;ul&gt;
      &lt;li&gt;&lt;a href="#">Beginners</a></li>      &lt;li&gt;&lt;a href="#">Video Tutorial</a></li>      &lt;li&gt;&lt;a href="#">FAQ</a></li>    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;&lt;a href="#">web instance</a></li>  &lt;li&gt;&lt;a href="#">Common code</a></li>&lt;/ul&gt;
&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;

I hope this article will be helpful to everyone's JavaScript programming.