jquery - 使用 animate() 滑动一个 div,隐藏它

标签 jquery jquery-animate slide

我正在尝试使用 animate() 对 div 进行动画处理,使其向上滑动。这很简单,问题是我希望它隐藏在其上方的切换按钮下方(具有更高的 z-index)并消失。换句话说,我不想看到 div 出现在按钮上方。如果其上方的按钮(或其他东西)延伸到屏幕边缘,这会很容易,但事实并非如此。

我尝试使用高度,但这会从下往上缩短 div,而不是相反。我的代码在代码笔上:http://codepen.io/solona/pen/NqPmpp

<div class='column'>
    <button class='toggle'>Hide Text</button>
    <div class='drawer'>
        <p>Content</p>
    </div>
</div>
.column {
    width: 50%;
    margin: 0 auto;
    background: lightgrey;
    padding: 1em;
}

.toggle {
    width: 100%;
    background: black;
    color: white;
    position: relative;
    z-index: 500;
}

.drawer {
  padding: 1em;
  background: pink;
  position: relative;
}
$(".toggle").click(function() {
    if ($(".drawer").hasClass('open')) {
        $(".drawer").animate({
            'bottom': $(".drawer").height()
        }, 400);
        $(this).html("Show Text");
        $(".drawer").removeClass('open');
    } else if (!$(".drawer").hasClass('open')) {
        $(".drawer").animate({
            'bottom': '0px'
        }, 400);
        $(this).html("Hide Text");
        $(".drawer").addClass('open');
    }
});

最佳答案

.drawer 周围放置一个包装器,将溢出设置为隐藏:

.bureau {overflow: hidden;}

<强> Demo

您需要调整填充等,以删除剩余空间。

关于jquery - 使用 animate() 滑动一个 div,隐藏它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30086078/

相关文章:

javascript - 我可以在文件类型输入中显示文件大小吗?

php - 如何自动从数据库中获取最新数据(输入时)

jquery - 如何仅启动一个又一个 jQuery 动画就完全完成了

jquery输入自动调整大小

javascript - jQuery 问题(延迟和顺序)

javascript - 如何通过单击下拉选择标签中的选项来运行函数?

javascript - 如何使用 Jquery 制作防止右键单击将目标另存为...的 .MP3 音频播放器

jquery - 围绕一个点旋转一个div

css - 如何使表格单元格动画在悬停时延伸

ipad - jquery移动幻灯片反向过渡在过渡中间显示空白页