javascript - toggleClass 以显示隐藏的 div - 添加动画和窗口滚动?

标签 javascript jquery css toggleclass

我创建了一个按钮来切换在其下方找到的某个 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/

相关文章:

javascript - 日期选择器格式 JS

javascript - 有没有办法从 Javascript 检测特定应用程序是否安装在 (Android\iOS) 设备上?

javascript - 使用 ScrollTo jQuery 插件提交表单后滚动到错误和成功消息

javascript - 使用 Ajax 从维基百科返回数据?

javascript - 检查Ajax json响应数据是否正确

html - 需要有关 css header float 的帮助

css - 如何禁用 bootstrap 4 卡上的边框

javascript - 在弹出窗口中填充来自 groovy Controller 的数据

php - 提交 'Contact' 消息后,如何让它留在页面上并生成文本确认?

javascript - 更改图像/svg 以在网页上正确显示横向或纵向