javascript - jQuery 动画高度不会每次都切换展开

标签 javascript jquery jquery-animate

我无法让 jQuery animate 工作。要启动 div 是用 .hide() 隐藏的,然后单击我想扩展 div 高度的按钮。切换动画效果完美,但我不想切换。

Toggle 执行此操作:div 被隐藏,我触发下面的代码,完美运行,然后 div 被隐藏,再次触发它 - div 弹出全高,动画下降到 0px。我希望它每次都从隐藏变为展开。

$('#logincontainer').animate(
    { 'height':  'toggle' }, 'slow'
);

我试过了

{ 'height':  '552px' }, 'slow'
{ 'height':  'auto' }, 'slow'

var h = document.getElementById('logincontainer').scrollHeight;
{ 'height':  h + 'px' }, 'slow'

我只想将高度扩展到 552px,div 每次都已经是这个高度。

最佳答案

你可以试试slideToggle() :

Display or hide the matched elements with a sliding motion.

$('#trigger').click(function(e){
    e.preventDefault()
    $('#logincontainer').slideToggle('slow');
})

DEMO

关于javascript - jQuery 动画高度不会每次都切换展开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11478882/

相关文章:

javascript - 坚持 IE7 Accordion 行为

javascript - 未定义的 DOM 元素 javascript,而 console.log 给出了它

javascript - 如何使用 JavaScript 将图像插入到 alertify.js 警报中?

javascript - 将字符串转换为整数并计算

javascript - 显示另一个弹出窗口时如何隐藏 Bootstrap 3 弹出窗口?

jquery - 如何显示jquery数组键值对?

javascript - 需要帮助理解为什么代码中出现这一行

javascript - JS 动画架构设计以获得最佳性能

javascript - 滚动到一个 div 并将事件类添加到当前 div 的选项卡

javascript - jQuery 跨浏览器 "scroll to top",带动画