【发布时间】:2018-10-05 13:57:13
【问题描述】:
我有一个简单的真正标题,我在其中放置了一个搜索栏。搜索栏占据了整个宽度。我想用 jquery 添加一个滑动切换效果,以使其上下滚动:
HTML:
<body>
<header>
<div class="search-bar">
<form action="/action_page.php">
<input type="search" name="q" placeholder="Search">
</form>
</div>
<div id="top-nav" class="container-fluid">
<div class="top-nav-wrapper">
<a class="top-req-info" href="#" >Request Info</a>
<ul class="top-nav-right">
<li class="hidden search-icon"><img src="images/search.png"></li>
</ul>
</div>
</div>
</header>
</body>
CSS:
.search-bar input {
background-color: #821A31;
color: #ffff;
font-size: 35px;
border: 0;
margin: 0;
height: 76px;
width: 100%;
padding: 0 80px;
font-weight: 200;
display: none;
}
.search-bar input:focus, .search-bar input:focus{
outline: none;
}
.search-bar input.slide-down {
display: block;
}
.search-bar input::placeholder {
color: white;
}
.hover-bar {
background: #821A31!important;
}
jQuery:
$('.search-icon').click(function() {
$('.search-bar input').toggleClass('slide-down');
$('#top-nav-book, .top-req-info').toggleClass('hover-bar');
});
问题是,如果我使用 slideToggle 而不是 toggleClass 它将不起作用,因为它会给我一个错误,如果我使用高度或可见性之间的过渡,则不会发生任何事情。我只需要在 display none 和 display block 之间创建一个令人愉快的动画,以创建一种下拉滑动效果。有什么建议吗?
【问题讨论】: