2012-04-06 71 views
1

我做了一个脚本,动态地将内容加载到div中,并且每当内容使div的高度变大或变小时,它就会将高度动画化为实际高度。jquery animate height bouncing

问题是,它不仅向上/向下滑动,而且总是滑动一下,然后向下滑动到所需的高度。

我想在没有“弹跳”的情况下直接在所需的高度滑动。

以下是脚本的一部分: main_content.html(html);

main_content.css("height", "auto"); 
var newContentHeight = main_content.height(); 
loader_div.hide(); 
main_content.height(prevContentHeight); 
main_content.fadeIn("fast", function() { 
    main_content.animate({ 
     "height": newContentHeight 
     }, 300); 
    }); 

的脚本工作,唯一的问题是,动画不滑动格上升或下降到需要的高度,它总是滑了一点升后降至所需高度。

使用动画高度时是否需要某种动画或者出现了什么问题? 感谢

编辑:控制台日志newContentHeight(该div的最终高度),它看起来像它集2米的高度,那么有生第一次到他们那里去的一个,然后到另外一个,这就是为什么它看起来像弹跳。在它上面工作。

edit2:是的问题是肯定存在的,我清理了所有的代码和一切工作,除了我使用console.log从newContentHeight获得2个属性它看起来像隐藏的内容div有2个高度和那2个高度传递给.animate这就是为什么它首先上升,然后下降... 有点奇怪

+0

你可以为此创建jsfiddle吗? – 2012-04-06 11:56:31

+0

@Mateusz W我昨天做了一个jsfiddle,但忘了保存它,无法复制整个网站,并复制脚本工作得很好,然后它没有帮助。 工作了一下,它的问题是,我试图得到div的高度,而它被隐藏,它不明白,如果我添加'main_content.css({display:“block”});'into上面的代码和THEN获得div的高度,它得到正确的高度。但我需要它隐藏起来。 使用黑客也没有工作(显示它与-9999px边缘获得高度,并再次隐藏)。 – g0dl3ss 2012-04-07 18:25:58

回答

1

我认为问题不是脚本,而是系统运行脚本。更换时间慢一点

main_content.animate({ 
"height": newContentHeight 
}, 3000);