我有一点动画滚动问题,并已耗尽我的调试工作。简而言之,我想要做的是滚动到用户单击的打开面板。用户点击一系列面板中的一个,该面板打开(动画),并且新打开的面板滚动到视图中。够简单。jQuery滚动到元素动画后的元素
我遇到的问题是,如果我点击已经打开的面板下方的面板,滚动会将我的新开放面板拉离屏幕一半。如果我在已经打开的面板上面点击面板,它可以正常工作。不知道发生了什么事。我使用CSS为面板打开动画,并使用jQuery为滚动设置动画。我假设有一些导致问题的动画队列计时,但我不知道。我甚至试图推迟滚动动画等待面板完成它的动画,但这也没有帮助。例如:
$('html, body').delay(1000).animate({scrollTop: $(this).offset().top - 75}, 250);
而不是
$('html, body').animate({scrollTop: $(this).offset().top - 75}, 250);
无论如何,任何帮助,将不胜感激。你可以找到我在这里工作的代码:https://jsfiddle.net/66zzudo4/
更新:您可以在这里找到工作代码:https://jsfiddle.net/66zzudo4/4/
setTimeout起作用了。这个问题肯定是小组关闭动画。当执行原始滚动代码行时,面板高度的值仍然表现为展开。由于代码在超时之前未执行,所以使用超时解决了问题。有趣的是,延迟功能确实以相同的方式工作。谢谢您的帮助! – Drew