我正在开发一个wordpress网站,并希望在导航菜单中插入一个搜索表单,这样当你通过搜索按钮(fontawesome)时,搜索框会展开,一旦展开,它就可以让suer输入输入并点击搜索;但如果用户将鼠标从搜索框上移开,它就会消失。
在http://www.woothemes.com处可以看到一个很好的例子。
到目前为止,我遇到的问题是将搜索框顶部显示在导航项目上,而不是保留空白区域;然后保持打开直到用户移除(此时导航重新出现。
这是我对jQuery的基本知识的了解:https://jsfiddle.net/ru0f2vy2/
$(function () {
var mglass = $('.fa-input');
var form = $('.search_box');
mglass.mouseenter(function () {
if (form.is(':hidden')) form.show()
form.animate({
'width': form.width() == 100 ? '0px' : '100px'
}, 'slow', function () {
if (form.width() == 0) form.hide()
});
});
});
/* Search Box text */
#header_search2 {
overflow: hidden;
float: right;
width: 85px;
}
.searchform {
}
#container {
width: 960px; margin: 0 auto; overflow: hidden;
}
.fa-input {
font-family: FontAwesome, 'Helvetica Neue', Helvetica, Arial, sans-serif;
width: 10px;
float: right;
}
.search_box {
display: none;
}
.search_text {
width: 74px;
float: left;
}
/* The rest of the CSSS */
#header_home {
height: 600px;
padding-top: 35px;
padding-bottom: 22px;
z-index: 10;
}
#header_home h1{
border: 0;
font: 0/0 a;
text-shadow: none;
color: transparent;
background: url(img/logo2.png);
width: 281px;
height: 124px;
float: left;
}
#header_home li {
display: inline;
position: relative;
}
#header_home ul {
list-style: none;
float: right;
padding: 45px 0 0 0;
}
#header_home ul li {
text-align: left;
display: inline;
margin-left: 15px;
font-size: 12px;
}
#header_home ul li a {
text-decoration: none;
color: #62666a;
}
#header_home ul li a:hover {
color: #029fe0;
text-decoration: underline;
transition: all 0.2s ease-in-out;
}
#header_home ul ul {
position: absolute;
display: none;
padding: 0;
margin: 0;
}
#header_home ul ul li {
margin: 0;
float: left;
padding-top: 7px;
padding-right: 10px;
}
#header_home ul ul li a {
width: 45px;
}
#header_home li:hover ul {
display: block;
transition: all 0.2s ease-in-out;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="container"> <!----- CONTAINER START ---->
<div id="header_home"> <!----- HEADER START ---->
<a href="#" title="Return to the homepage"><h1>QEPrize</h1></a>
<nav>
<ul>
<li><a href="#">News</a></li>
<li>
<a href="#">Nominate ▾</a>
<ul>
<li><a href="#">Judges</a></li>
<li><a href="#">Search-Group</a></li>
<li><a href="#">Criteria</a></li>
</ul>
</li>
<li>
<a href="#">Winners ▾</a>
<ul>
<li><a href="#">2015</a></li>
<li><a href="#">2013</a></li>
</ul>
</li>
<li>
<a href="#">Trophy ▾</a>
<ul>
<li><a href="#">2015</a></li>
<li><a href="#">2013</a></li>
</ul>
</li>
<li>
<a href="#">Charity ▾</a>
<ul>
<li><a href="#">Donors</a></li>
<li><a href="#">Trustees</a></li>
<li><a href="#">Jobs</a></li>
</ul>
</li>
<li>
<a href="#">Contact ▾</a>
<ul>
<li><a href="#">Map</a></li>
<li><a href="#">Newsletter</a></li>
</ul>
</li>
<li>
<div id="header_search2">
<form role="search" method="get" id="searchform" class="searchform" action="http://www.test.dev/">
<div class="search_box"><input type="text" value="" name="s" id="s" class="search_text"/></div><input type="submit" class="btn fa-input" value="">
</form>
</div>
</li>
</ul>
</nav>
</div>
</div>
答案 0 :(得分:0)
你可以在没有JS的情况下做到这一点。我在这里创建了一个快速example
<div class="search">
search
<input type="text" />
</div>
<ul>
<li>news
</li>
<li>Nominate
</li>
<li>Trophy
</li>
</ul>