我已经看到了一些关于类似问题的问题,但我还没有找到对我有意义的解决方案。问题出在 JSFiddle 上:http: //jsfiddle.net/twchapman/EEXjR/2/
单击投资组合以查看行为。
我写的函数:
function changeTab(tab) {
active = tab;
$("#" + tab).slideDown(animspeed);
}
function change(tab) {
if (tab == active) return;
$("#" + active).slideUp(animspeed, function () {
changeTab(tab);
});
}
我只使用 Chrome,但我很确定您会在任何浏览器上收到此错误:当页面加载时,它会将内容 div 向下滑动,然后单击链接(目前只有 Portfolio 实际有效)会滑动当前的 div 向上,然后正确的向下。
它几乎完全按预期工作,但有一个小问题:当动画开始时,div 的高度“跳跃”,并且在动画发生时它会瞬间变高,然后在完成时“跳跃”到正确的大小。
我发现的两种常见解决方案都建议了:1.为已经存在的div的样式添加宽度,以及2.在调用slide函数时更改它的height/margin参数。对我来说,第二种解决方案似乎没有必要,因为除了动画长度之外我没有提供任何选项。
我希望这只是我错过了一些东西并且很傻,而不是我做事方式的大问题。