2016-11-06 39 views
0

因此,对于我的在线投资组合,我创建了一个选择框用作移动视图上的导航栏。由于某种原因,我的代码在除关于页面以外的每个页面上均有效。我的意思是,关于页面上的选择框根本不打开。在其他页面上,它会打开并在点击后适当地将您引导至您选择的页面。我已经搜遍了几个小时的代码,只是在寻找新的眼睛来帮助我。选择框不工作关于页面

HTML代码

<header class = "header"> 
     <h1 class="top"> 
      <img src="img/logo2.jpg" alt="logo"/> 
     </h1> 
     <nav class="container" id="navi"> 
      <div class="navbar"> 
      <ul class="nav navbar-nav navbar-right"> 
       <li><a href="index.html">Home</a></li> 
       <li id="about"><a href="about.html">About</a></li> 
       <li><a href="data.html">Data</a></li> 
       <li><a href="visual.html">Visual</a></li> 
      </ul> 
     </div> 
     <select> 
      <option value="" selected="selected">Select</option> 
      <option value="index.html">Home</option> 
      <option value="about.html">About</option> 
      <option value="data.html">Data</option> 
      <option value="visual.html">Visual</option> 
      </select> 
     </nav> 
</header> 

jQuery代码

//Create the dropdown base 
$("<select />").appendTo("#navi>.navbar>ul"); 

//Create default option "Go to..." 
$("<option />", { 
    "selected": "selected", 
    "value" : "", 
    "text" : "Go to..." 
}).appendTo("#navi>select"); 

//Populate dropdown with menu items 
$("#navi>.navbar>a").each(function() { 
    var el = $(this); 
    $("<option />", { 
     "value" : el.attr("href"), 
     "text" : el.text() 
    }).appendTo("#navi>select"); 
}); 

//To make the dropdown menu actually work 
$("#navi>select").change(function() { 
    window.location = $(this).find("option:selected").val(); 
}); 

,不胜感谢。

+0

“我的代码工程..除了”指定什么你的意思是不工作。是选择标记未填充或链接不工作。请参阅控制台说的内容以及选择HTML输出的内容。 –

+0

用户必须能够点击选择框导航到另一个页面,但在关于页面上,选择框被禁用。点击它不会打开它。 – dazed03

+0

你的意思是这个例子https://jsfiddle.net/MamdouhFreelancer/p5o6s74m/ –

回答

0

只是想发布任何人谁可能后来偶然发现。

JavaScript工作正常。问题在于关于页面上的选择框有一个HTML元素,这就是为什么我无法点击它。我使用Inspect Element发现了这个,然后我将该HTML元素的z-index改为负值,以便它位于选择框下方。