jquery - 在 jQuery 中从下到上而不是从上到下动画 div

标签 jquery html jquery-animate

<分区>

我有一个div,它在触发点击功能时根据其高度设置动画:

$('#menu').click(function() {
  $('#test').animate({
      height: 'toggle'
    }, 290, function() {    
  });
});

到目前为止效果很好。但我想从下到上为 div 设置动画,这与在 fiddle 中看到的不同。 .

有什么解决办法吗?

最佳答案

你可以把它放在一个容器中并绝对定位吗?:

HTML:

<a href="#" id="menu">click me for menu</a>
    <div id="cont">
    <div id="test"></div>
</div>

CSS:

#cont{
    height:500px; width:50px; position:relative;
}
#test{
    height: 500px; width: 50px; background-color: #000; display: none; position:absolute; bottom:0; left:0;
}

JavaScript:

$('#menu').click(function() {
    $('#test').animate({
        height: 'toggle'
        }, 290, function() {
    });
});

Fiddle

编辑:为什么有效
我在菜单周围放置了一个容器,并为其指定了 position:relative 样式。我认为是菜单 (#test) 的样式已被赋予 position:absolute 意味着您可以根据 top,rightbottomleft,相对于包含元素(假设它有一个 position 而不是默认值,因此我们给容器一个 relative 位置)。如果我们给元素 top:0;left:0 元素的左上角会粘在它父元素的左上角,类似地,如果我们给 top:0;bottom: 0 此元素的左下角会粘在其父元素的左下角。 乱七八糟,不是吗? 因此,总而言之,#test 被“卡”在其父级的底部,因此它从底部开始动画。另一个要点,容器高度很重要!因为我们给 #test 一个绝对位置,它不会将容器推到它的高度,所以我们设置高度以确保 #test 从顶部加载 500px容器。

关于jquery - 在 jQuery 中从下到上而不是从上到下动画 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15571722/

相关文章:

javascript - animate() jquery 在我的例子中失败了

javascript - 让某些 JS 代码等到另一个命令完成后再执行

javascript - 单击两次后 jQuery 动画不起作用

php - jQuery 发布并导出到 XLS 文件

c# - 将数据传递到 ModalPopupExtender

javascript - 使用 JQUERY 在文本区域内拖放按钮

javascript - 动画 Bootstrap 轮播标题和按钮

javascript - 如何处理 DOM 中的列表项

javascript - HTML Select 由 jQuery 设计,带有无限循环

jQuery:获取当前元素之后紧邻的下一个元素