【发布时间】:2012-06-16 05:05:48
【问题描述】:
我想创建一个 16 像素的小方形图标,单击该图标时,它会“展开”成一个 600 像素 x 100 像素的大横幅,显示覆盖部分页面的其他内容。然后用户可以单击横幅上的关闭按钮,它将“折叠”回图标中。
本质上,我正在寻找一种能够顺利制作动画的能力:
------------------------------------------------------------------
| |
| [icon] |
| |
| |
| Page content here |
| more page content here |
| even more page content here |
| yet more more page content here |
| another line of page content |
| and another. |
| |
| |
到这里:
------------------------------------------------------------------
| |
| ---------------------------------------------------------- |
| | [x] | |
| | | |
| | Content inside banner | |
| | goes here | |
| | | |
| ---------------------------------------------------------- |
| another line of page content |
| and another. |
| |
| |
然后当用户单击关闭按钮时再次动画回来。
用 jquery 来做这件事的好方法是什么,具有良好的性能和浏览器兼容性?
我的应用程序的大多数用户都使用低级浏览器,因此任何解决方案都应该适用于 IE7+、iPad2+ 以及现代桌面和移动浏览器——尽管如果旧浏览器的性能很糟糕,我可能会放弃那里的动画。
【问题讨论】:
-
你看过.animate()吗?
-
我猜你写代码可能比制作漂亮的 ascii 艺术更快!
-
您使用什么标记?
-
@Greg - 是的,我打算通过使用 animate() 改变 top/left/width/height 来开始编码,但是在遇到有趣的问题之前我已经使用过动画(视频性能,具有浏览器兼容性,尤其是旧 IE 等),所以我希望有一个现存的插件或代码示例已经考虑过这些问题,特别是因为这似乎是一个很常见的情况。
-
@David Thomas - 如果您要问的话,不要使用 HTML5。该解决方案需要至少可以追溯到 IE7。 IE6 很好,但不是必需的。
标签: jquery jquery-animate jquery-effects