我正在开发 Web 应用程序的前端。所有内容都是从我从后端收到的 JSON 对象生成的。然后我将这些内容包装在 HTML 中并将其添加到 DOM。我使用 jQuery append() 来做到这一点。添加内容后,我会为旧页面设置动画,并为新页面设置动画。
我的问题是在动画开始之前内容似乎没有完成加载。似乎并不是我所有的 CSS 都在动画开始之前生效。它仅在动画完成后显示。
我假设我需要在开始制作动画之前检查内容是否已完成附加。我知道 append() 应该是同步的,但检查起来不会有坏处。
这是一个代码片段,可让您了解所涉及的动画。(注意:这不是我的全部代码,只是让您了解我到底在做什么的最低限度)
- 'mainTransitionContainer' 是添加了新内容的元素。
- “transitionWidth”是一个变量,它使用旧页面和新页面的宽度来确定。
- 这两个页面都在 mainTransitionContainer 内,彼此相邻浮动。
$(mainTransitionContainer).append(newElement); $(mainTransitionContainer).ready(function () { $(mainTransitionContainer).animate({ right: transitionWidth }, 2000,'easeInOutQuart'}); });
这是检查内容是否已完成加载的正确方法吗?
有谁知道为什么我的内容没有正确显示?
jQuery 动画是否会影响我的 CSS 样式?
有人有建议吗?将不胜感激。