2012-07-12 47 views
0

我必须做一些动画,像苹果的iPhone网页主页HTML动画和后备最佳实践

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

矿是相当简单的,只是一些从左向右滑动(标有淡入)为一个div,保持几秒钟,滑出和相同的效果,以下的div。

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

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

  2. 什么是会触发动画的事件?我怎样才能确保在动画之前加载div中的图像?

  3. 元素的初始状态为0%不透明度,然后我可以将它们设置为100%。如果有人关闭了javascript或者页面中有任何错误,并且动画功能无法运行,那么这些元素将不会被他们看到。初始状态为100%不透明度,然后将其更改为0%以设置动画效果会使其闪烁,如果在显示元素之前未将代码变为0%,则会闪烁。我能阻止这个吗?

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

我知道所有这些可能会覆盖其他地方。如果有一篇关于如何实现这个目标的好文章或教程,那就指向我吧。谢谢。

回答

0

建立一个自定义滑块需要比最初看起来更多的时间。我会建议去找像nivoslider或任何其他jQuery滑块那里的插件。你可以选择你的过渡和持续时间来达到预期的效果。

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

  1. 对于兼容性,jQuery比CSS3更好。

  2. 我会去一个JavaScript间隔。看看这里:Simple image load

  3. 如果用户已关闭javascript,您的幻灯片甚至不会动画。为了防止眨眼,您应该在开始动画之前更改不透明度。

你应该看看jQuery文档的更多信息

0

看来你想实现jQuery slideshow。我没有尝试过,但jQuery Cycle Plugin似乎能够做你想做的。

此外,为解决闪烁/不支持javascript问题,您可以添加这样的事情到文档的head部分:

<noscript> 
    <style type="text/css"> 
    .hidden { visible: true; !important } 
    </style> 
</noscript> 
+0

我不想做一个幻灯片。不同的元素将分别进行动画制作,不会有下一个/上一个按钮和一些幻灯片指示器。在给定的时间内,3个元素将同时进行动画处理,这需要3个滑块实例。我使用nivo滑块很多,但我不认为它是这个 – Juan 2012-07-12 03:45:23

+0

没有脚本风格的最佳解决方案应该工作,谢谢 – Juan 2012-07-12 06:40:42