2013-10-30 47 views
0

我有4下拉菜单在我的HTML代码中显示在这里。在页面创建时,因子下拉按钮的下拉菜单应该是#dd3而不是#dd4。不过,我碰巧得到错误的下拉菜单来显示。对此有何帮助?我加入以下代码,然后@jsfiddle错误的下拉菜单上的页面创建 - html css

<!DOCTYPE html> 

    <html lang="en"> 
    <head> 
    <style type="text/css"> 
    #container2{ 
     position: relative; 
     padding-top: :123px; 
    } 





    </style> 
    <title>Google Top Apps Trending</title> 
    <link rel="stylesheet" type="text/css" href="css/bootstrap.css"/> 

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script> 
    <script src="js/bootstrap.js"></script> 
    <script type="text/javascript"> 
     $(document).ready(function() { 


      //var d = new Date(); 
      //var year = ["2013", "2014"]; 
      var monthNames = ["January", "February", "March", "April", "May", "June", 
      "July", "August", "September", "October", "November", "December"]; 



      var factors1 = new Array(); 
       factors1 = ["Version","Architecture","SDK Version","Target SDK","Phone to Tablet","Resolution"]; 


      for (i = 0; i < factors1.length; i++) { 

       $("#dd3").append("<li><a href='#'>" + factors1[i] + "</a></li>"); 
      } 


      var factors2 = new Array(); 
      var factors2 = ["IA Architecture Usage","Phone to Tablet"]; 


      for (i = 0; i < factors2.length; i++) { 

       $("#dd4").append("<li><a href='#'>" + factors2[i] + "</a></li>"); 

      } 

      for (i = 0; i < monthNames.length; i++) { 

       $("#dd1").append("<li><a href='#'>" + monthNames[i] + "</a></li>"); 
       $("#dd2").append("<li><a href='#'>" + monthNames[i] + "</a></li>"); 
      } 


      $("#dd1 li a").click(function() { 
       var selText = $(this).text(); 
       $("#monthFrom").text(selText); 

      }); 

      $("#dd2 li a").click(function() { 
       var selText = $(this).text(); 
       $("#monthTo").text(selText); 

      }); 


      $("#dd3 li a").click(function() { 
       var selText = $(this).text(); 
       $("#aspect").text(selText); 

      }); 


      $("#dd4 li a").click(function() { 
       var selText = $(this).text(); 
       $("#monthlyaspect").text(selText); 

      }); 


      $("#monthly").click(function(){ 
       $("#monthTo").hide(); 
       $("#monthFrom").text("Choose a Month"); 
       $("#aspect").hide(); 
       $("#monthlyaspect").show(); 



      }); 


      $("#trend").show(function() { 

       $("#aspect").show(); 
       $("#monthlyaspect").hide(); 

      }); 
      $("#monthly").show(function() { 
       $("#aspect").hide(); 
       $("#monthlyaspect").show(); 

      }); 

      $("#trend").click(function(){ 
       $("#aspect").show(); 
       $("#monthTo").show(); 
       $("#monthFrom").text("Choose Month 1"); 
       $("#monthlyaspect").hide(); 


      }); 


     }); 

    </script> 

</head> 
<body> 

    <div class="container"> 
     <div class="row"> 
      <div class="span12"> 

       <h3>Google App Analytics</h3> 

       <div class="navbar"> 
        <div class="navbar-inner"> 

         <ul class="nav"> 
          <li><a href="#" id="monthly" >Monthly Analysis</a></li> 
          <li><a href="#" id="trend">Trend Analyser</a></li> 

         </ul> 

        </div> 
       </div> 
       <div id="container1" class="well carousel-search hidden-phone"> 
        <div class="btn-group"> <a id='monthFrom' class="btn dropdown-toggle btn-select1" data-toggle="dropdown" href="#" >Choose Month 1 <span class="caret"></span></a> 

         <ul id="dd1" class="dropdown-menu"></ul> 
        </div> 
        <div class="btn-group"> <a id='monthTo' class="btn dropdown-toggle btn-select2" data-toggle="dropdown" href="#" >Choose Month 2 <span class="caret"></span></a> 

         <ul id="dd2" class="dropdown-menu"></ul> 
        </div> 
        <div class="btn-group"> <a id='aspect' class="btn dropdown-toggle btn-select3" data-toggle="dropdown" href="#" >Factor<span class="caret"></span></a> 

         <ul id="dd3" class="dropdown-menu"> 


         </ul> 
        </div> 
        <div class="btn-group"> <a id='monthlyaspect' class="btn dropdown-toggle btn-select4" data-toggle="dropdown" href="#" >Factor<span class="caret"></span></a> 

         <ul id="dd4" class="dropdown-menu"> 


         </ul> 
        </div> 



        <input id="btn1" type="submit" class="btn" value="Analyze" style="float: right;" /> 
        </div> 

       </div> 


      </div> 




     </div> 
    </div> 
</div> 

下拉ID为 '#DD4' 页面打开时,应隐藏。它恰好显示并且项目的大小(下拉按钮)也不断变化。有办法我可以修复下拉按钮的大小。对不起,我是全新的你的JavaScript。希望有人能给我一个很好的建议。

回答

0

在jQuery的隐藏与隐藏()方法的东西,你看用show()它

例如隐藏#DD4下拉

$('#dd4').hide(); 

,如果你想要做的服用点时# dd4隐藏

$('#dd4').hide(function(){ 
     $('#dd3').show();//to show the #dd3 dropdown on #dd4 hidden 
    }); 

要显示,替换显示在代码中!

要修复下拉尺寸,您可以使用JavaScript,但最佳实践告诉我们在CSS内部完成!因此,添加此CSS标签内,如下所示

<style type="text/css"> 
    /*------*/ 
    ul.dropdown-menu,ul.dropdown-menu li{ 
     width:200px;//replace with the size you wish 
     max-width:200px;//replace with the size you wish 
    } 


</style> 

完整代码:

<!DOCTYPE html> 

<html lang="en"> 
<head> 
<style type="text/css"> 
#container2{ 
    position: relative; 
    padding-top: :123px; 
} 


    ul.dropdown-menu,ul.dropdown-menu li{ 
     width:200px;//replace with the size you wish 
     max-width:200px;//replace with the size you wish 
    } 



</style> 
<title>Google Top Apps Trending</title> 
<link rel="stylesheet" type="text/css" href="css/bootstrap.css"/> 

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script> 
<script src="js/bootstrap.js"></script> 
<script type="text/javascript"> 
    $(document).ready(function() { 


      //var d = new Date(); 
      //var year = ["2013", "2014"]; 
       var monthNames = ["January", "February", "March", "April", "May", "June","July", "August", "September", "October", "November", "December"]; 

     var factors1 = new Array(); 
factors1 = ["Version","Architecture","SDK Version","Target SDK","Phone to Tablet","Resolution"]; 
     for (i = 0; i < factors1.length; i++) { 
      $("#dd3").append("<li><a href='#'>" + factors1[i] + "</a></li>"); 
      } 
      var factors2 = new Array(); 
      var factors2 = ["IA Architecture Usage","Phone to Tablet"]; 
      for (i = 0; i < factors2.length; i++) { 
       $("#dd4").append("<li><a href='#'>" + factors2[i] + "</a></li>"); 

      } 

      for (i = 0; i < monthNames.length; i++) { 

       $("#dd1").append("<li><a href='#'>" + monthNames[i] + "</a></li>"); 
       $("#dd2").append("<li><a href='#'>" + monthNames[i] + "</a></li>"); 
      } 


      $("#dd1 li a").click(function() { 
       var selText = $(this).text(); 
       $("#monthFrom").text(selText); 

      }); 

      $("#dd2 li a").click(function() { 
       var selText = $(this).text(); 
       $("#monthTo").text(selText); 

      }); 


      $("#dd3 li a").click(function() { 
       var selText = $(this).text(); 
       $("#aspect").text(selText); 

      }); 


      $("#dd4 li a").click(function() { 
       var selText = $(this).text(); 
       $("#monthlyaspect").text(selText); 

      }); 
       $("#dd4).hide();//new line 

      $("#monthly").click(function(){ 
       $("#monthTo").hide(); 
       $("#monthFrom").text("Choose a Month"); 
       $("#aspect").hide(); 
       $("#monthlyaspect").show(); 
       $("#dd4").show();////new line 


      }); 


     $("#trend").show(function() { 

      $("#aspect").show(); 
      $("#monthlyaspect").hide(); 
      $("#dd4").hide();//new line 

     }); 
     $("#monthly").show(function() { 
      $("#aspect").hide(); 
      $("#monthlyaspect").show(); 
      $("#dd4").show();//new line 
     }); 

     $("#trend").click(function(){ 
      $("#aspect").show(); 
      $("#monthTo").show(); 
      $("#monthFrom").text("Choose Month 1"); 
      $("#monthlyaspect").hide(); 
      $("#dd4").hide();//new line 

     }); 


    }); 

    </script> 

</head> 
<body> 
    <div class="container"> 
    <div class="row"> 
       <div class="span12">      

     <h3>Google App Analytics</h3> 
       <div class="navbar"><div class="navbar-inner"> 

    <ul class="nav"> 
     <li><a href="#" id="monthly" >Monthly Analysis</a></li> 
     <li><a href="#" id="trend">Trend Analyser</a></li> 
    </ul> 
       </div> 
      </div> 
      <div id="container1" class="well carousel-search hidden-phone"> 
       <div class="btn-group"> <a id='monthFrom' class="btn dropdown-toggle btn-select1" data-toggle="dropdown" href="#" >Choose Month 1 <span class="caret"></span></a> <ul id="dd1" class="dropdown-menu"></ul> 
        </div> 
        <div class="btn-group"> <a id='monthTo' class="btn dropdown-toggle btn-select2" data-toggle="dropdown" href="#" >Choose Month 2 <span class="caret"> </span></a> 
         <ul id="dd2" class="dropdown-menu"></ul> 
        </div> 
        <div class="btn-group"> <a id='aspect' class="btn dropdown-toggle btn-select3" data-toggle="dropdown" href="#" >Factor<span class="caret"></span></a> 

         <ul id="dd3" class="dropdown-menu"> 


         </ul> 
        </div> 
        <div class="btn-group"> <a id='monthlyaspect' class="btn dropdown-toggle btn-select4" data-toggle="dropdown" href="#" >Factor<span class="caret"></span></a> 

         <ul id="dd4" class="dropdown-menu"> 


         </ul> 
        </div> 



       <input id="btn1" type="submit" class="btn" value="Analyze" style="float: right;" /> 
       </div> 

       </div> 


      </div> 




     </div> 
    </div> 
</div> 

PS:我的评论我的台词为“//新行”所以,如果你没有,你可以将其删除需要显示/隐藏dd4或者您可以将dd4更改为dd3