使用 Ajax 加载内容时,使其动画过渡到自然高度

Avatar of Chris Coyier
Chris Coyier

DigitalOcean 为您旅途的每个阶段提供云产品。立即开始使用 200 美元的免费额度!

让我们将我们在 CSS-Tricks 上学到的三件事结合起来

第一,过渡到自动尺寸。第二,使用现代方法 使用 Ajax 加载内容。第三,等待图像加载 并对其进行测量。

有了这三个工具,我们可以使用 Ajax 加载任意内容,并将其插入页面,并使用过渡动画来显示其高度。很酷吧!

以下是最终的演示

查看 Pen 滑动显示 Ajax 内容 由 Chris Coyier (@chriscoyier) 发布在 CodePen 上。

想法是,由于我们无论如何都要使用 JavaScript,因为我们要使用 Ajax 加载内容,我们不妨继续使用 JavaScript 来帮助我们创建一个平滑的过渡。

按照 “编写脚本” 的传统,以下是我们编写的脚本

  1. 使用 Ajax 加载内容
  2. 创建一个虚拟元素,其宽度与您计划注入内容的位置完全相同
  3. 将您的内容注入虚拟元素
  4. 测量虚拟元素(仔细测量)
  5. 将您的内容注入真正的(且已折叠)元素
  6. 将高度过渡到测量的值
  7. 清理自己

所有代码都在 演示 中逐行注释。