-4

コンテンツページングの上に画面の上部に固定されるロゴとメニューバーを取得しようとしています。マウスオーバーすると、短い水平メニューが表示され、アイテムの1つにさらにドロップダウンサブメニューが表示されます。

このように JavaScript を少しいじってみましたが、特定の幅を超えるページでは機能しないことがわかりました。

<!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>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1256" />
<style type="text/css">
<!--
  /* set the menu style */
   #menu1 {position: absolute;left:0px;;width: 745px;}
  .menuHead { font-weight: bold; font-size: larger;  background-color: #A9A9A9;height:40px;padding-top:10px; text-align:center;
   background-image: -webkit-linear-gradient(left, #b4872a, #ffe792, #b4872a); 
   background-image: -moz-linear-gradient(left, #b4872a, #ffe792, #b4872a); 
   background-image: -ms-linear-gradient(left, #b4872a, #ffe792, #b4872a); 
   background-image: -o-linear-gradient(left, #b4872a, #ffe792, #b4872a);}
  .menuChoices { background-color: #000; /*opacity:0.4;filter:alpha(opacity=40);*/height:70px;padding-top:35px;}
  .menu a {color: #e3c96b; text-decoration: none;margin:0px 25px;}
  .menu a:hover {text-decoration: underline;} 
  /* position your menus */
-->
</style>
<script type="text/javascript">
<!--
/* we'll only allow DOM browsers to simplify things*/
(document.getElementById ? DOMCapable = true : DOMCapable = false);
function hide(menuName)
{
 if (DOMCapable)
  {
    var theMenu = document.getElementById(menuName+"choices");
    theMenu.style.visibility = 'hidden';
  }
}
function show(menuName)
{
 if (DOMCapable)
  {
    var theMenu = document.getElementById(menuName+"choices");
    theMenu.style.visibility = 'visible';
  }
}
//-->

</script>
</head>
<body>
<div id="menu1" class="menu" onmouseover="show('menu1');" onmouseout="hide('menu1');">
   <div class="menuHead">M E N U</div>
      <div id="menu1choices" class="menuChoices">
        <a href="http://www.google.com">menu1</a>
        <a href="http://www.yahoo.com">menu2</a>
        <a href="http://www.teoma.com">menu3</a>
        <a href="http://www.msn.com">menu4</a>
        <a href="http://www.altavista.com">Country Selector</a>
      </div>
</div>
<script type="text/javascript">
<!--
/* Don't hide menus for JS off and older browsers */
if (DOMCapable)
 {
  hide("menu1");
 }
//-->
</script>
</body>
</html>

その<ul><li>ため、代わりにそれを使用できるかどうかを確認するために、それを試してみることを考えています。

4

1 に答える 1

1

Javascript をゼロから作成する代わりに、Twitter Bootstrapなどのオープン ソースの代替手段を検討できます。JQuery UIを試すこともできます。これらは、要件を満たすことができる高速な代替手段の一部です。

理解を深めるために、それらのソース コードを参照できます。Twitter Bootstrap で言及されているのとまったく同じ機能を見てきました。試してみてください。

于 2013-05-26T12:45:36.670 に答える