我创建了一个按钮来切换在其下方找到的某个 div 的可见性。有没有办法在隐藏和显示的转换之间向 div 添加动画?另外,有没有办法让窗口向下滚动到现在显示的 div 的顶部?但只有在显示时,而不是在隐藏时。
示例
http://codepen.io/john84/pen/MKrGWV
HTML代码
<a href="#section-contact-print" class="btn btn-primary btn-lg formtoggle">Log In</a>
<section id="section-contact-print" class="hidden">
<form role="form">
<div class="form-group">
<label for="email">Email address:</label>
<input type="email" class="form-control" id="email">
</div>
<div class="form-group">
<label for="pwd">Password:</label>
<input type="password" class="form-control" id="pwd">
</div>
<div class="checkbox">
<label><input type="checkbox"> Remember me</label>
</div>
<button type="submit" class="btn btn-default">Submit</button>
</form>
</section>
JS(在 jQuery 库之上)
$('.formtoggle').click(function (event) {
event.preventDefault();
var target = $(this).attr('href');
$(target).toggleClass('hidden show');
});
最佳答案
这里有一个代码,我可以使用它向下滚动到您定位的 anchor : http://codepen.io/anon/pen/MKrGXZ
$('.formtoggle').click(function (event) {
event.preventDefault();
var $self = $(this);
var hash = $self.attr('href');
$(hash).toggleClass('hidden show');
// Scroll then add hash to url
$('html, body').stop().animate({
scrollTop: $(hash).offset().top
}, 300, function () {
window.location.hash = hash;
});
});
关于动画,我认为我会使用带有过渡属性的 CSS。
关于javascript - toggleClass 以显示隐藏的 div - 添加动画和窗口滚动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34925220/