HTML动画和后备的最佳实践

时间:2012-07-12 01:16:18

标签: jquery animation

我必须在像Apple的iPhone主页这样的主页上做一些动画

http://www.apple.com/iphone/

我很简单,只是从左到右滑入(有淡入)div,停留几秒钟,向外滑动,效果与下面的div相同。

我打算使用jQuery的.animate(),因为我在网站上几乎所有其他东西都使用jQuery,但我有些疑惑:

  1. jQuery是动画对象动画的最佳方式吗?我也考虑过使用CSS3过渡但我怀疑jQuery与不那么现代的浏览器更兼容(IE咳嗽......咳嗽......)

  2. 触发动画的事件是什么?如何在动画制作之前确定div中的图像已加载?

  3. 元素的初始状态为0%不透明度,然后我可以将它们设置为100%。如果某人关闭了javascript或页面中有任何错误且动画功能未运行,则元素将对其保持不可见。具有初始状态100%不透明度,然后将其更改为0%以设置动画,如果通过代码将其转换为0%,则在显示元素之前不会运行。我可以阻止这个吗?

  4. 什么是动画时间的最佳方式?有一个$(元素).delay(N),N是前面元素进入,显示和出去所花费的时间似乎不正确。

  5. 我知道所有这些可能都会被其他地方所覆盖。如果有一篇关于如何实现这一目标的好文章或教程,请指出。感谢。

2 个答案:

答案 0 :(得分:0)

构建自定义滑块所需的时间比最初看起来要多。我建议去找一个像nivoslider这样的插件或任何其他jQuery滑块。您可以选择转换和持续时间来实现所需的效果。

如果你真的想从头开始构建,我肯定会选择jQuery。

  1. 你对兼容性是正确的,jQuery在这方面比CSS3更好。

  2. 我会去javascript间隔。看看这里:Simple image load

  3. 如果用户关闭了javascript,则幻灯片甚至无法设置动画。要防止闪烁,您应该在开始动画之前更改不透明度。

  4. 您应该查看jQuery文档以获取更多信息

答案 1 :(得分:0)

您似乎正在努力实现jQuery slideshow。我自己没有尝试过,但jQuery Cycle Plugin似乎可以做你想做的事。

此外,要解决blink / no javascript支持问题,您可以在文档的head部分添加类似内容:

<noscript>
  <style type="text/css">
    .hidden { visible: true; !important }
  </style>
</noscript>
相关问题