Jquery,在导航上扩展搜索表单

时间:2015-02-15 21:05:17

标签: jquery css wordpress forms search

我正在开发一个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 &#x25BE;</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 &#x25BE;</a>
					<ul>
						<li><a href="#">2015</a></li>
						<li><a href="#">2013</a></li>
					</ul>
				</li>
				<li>
					<a href="#">Trophy &#x25BE;</a>
					<ul>
						<li><a href="#">2015</a></li>
						<li><a href="#">2013</a></li>
					</ul>
				</li>
				<li>
					<a href="#">Charity &#x25BE;</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 &#x25BE;</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="&#xf002;">
					</form>
					</div>
				</li>
				
				
			</ul>

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

1 个答案:

答案 0 :(得分:0)

你可以在没有JS的情况下做到这一点。我在这里创建了一个快速example

<div class="search">
   search
   <input type="text" />
</div>
<ul>
   <li>news
   </li>
   <li>Nominate
   </li>
   <li>Trophy
   </li>
</ul>