Javascript 小屏幕上的w3.css topnav
在小屏幕上,必须单击topnav导航两次才能打开。我想不出是什么问题。 当然,我想实现当用户点击图标时的状态,topnav打开并显示其余按钮(在一行中)。我必须让搜索输入字段始终位于topnav中Javascript 小屏幕上的w3.css topnav,javascript,html,css,w3.css,Javascript,Html,Css,W3.css,在小屏幕上,必须单击topnav导航两次才能打开。我想不出是什么问题。 当然,我想实现当用户点击图标时的状态,topnav打开并显示其余按钮(在一行中)。我必须让搜索输入字段始终位于topnav中 <!--MAIN NAVBAR--> <ul class="topnav w3-card-4" id="myTopnav"> <div class="w3-content"> <li class="w3-hide-small"><a href=".
<!--MAIN NAVBAR-->
<ul class="topnav w3-card-4" id="myTopnav">
<div class="w3-content">
<li class="w3-hide-small"><a href="./index-w3.php"><i class="fa fa-home" title="úvodní strana"></i></a>
<li>
<div class="w3-container" id="searchbar">
<div class="w3-row">
<form class="w3-container" action="search-w3.php?action=find&list_kind=users" method="post" name="form1">
<div class="w3-col s10 m10 l10"><input type="text" name="search_string" id="search_string" class="w3-input w3-border-right w3-hover-border-red" placeholder="Vyhledej.."> </div>
<div class="w3-col s2 m2 l2"><button class="w3-btn w3-white" style=" padding: 8px 16px!important;"><i class="fa fa-search w3-text-hvalur-color"></i></button></div>
</form>
</div>
</div>
</li>
<li class="small-right"><a href="javascript:void(0)" onclick="w3_open_keyboard()"><i class="fa fa-keyboard-o"></i></a></li>
<li class="w3-right" style="cursor:pointer;"><a href="javascript:void(0)" onclick="document.getElementById('id01').style.display='block'"><i class="fa fa-sign-in" title="login"></i></a></li>
<li class="w3-right"><a href="javascript:void(0)" onclick="w3_open_language()"><i class="fa fa-globe" title="jazyk"></i></a></li>
<li class="w3-right"><a href="javascript:void(0)" onclick="w3_open()">menu <i class="fa fa-caret-down"></i></a></li>
<li class="icon">
<a href="javascript:void(0);" style="font-size:15px;" onclick="myFunction()">☰</a>
</li>
</ul>
</div>
-
-
-
问题在于,您的topnav列表有两个类:topnav和w3-card-4,但您的javascript只检查topnav 这是一把小提琴: 所以,如果你想根据你的小提琴进行简单的修复,就把你的切换功能改成这个
function myFunction(e) {
var x = document.getElementById("myTopnav");
if (x.className === "topnav w3-card-4") {
x.className += " responsive";
} else {
x.className = "topnav w3-card-4";
}
}
您有几个不匹配的开始/结束标记。请把这些也改正一下。更正了这里的JSFIDLE: