Jquery PHP Top 10动画

时间:2010-10-29 02:13:41

标签: php jquery animation

我想知道这是否可以实现。

我知道如何使用SQL从数据库中获得前10名。但我想更进一步。

我的想法是每隔几秒更新一次DIV。首先,脚本将检查数据库中是否有任何更新,如果是,则应更新DIV。我可以自己做这个,但我的问题是:我可以使用jQuery动画这个吗?

实施例: [码] 十大知道是 1.产品1浏览次数:49 2.产品2浏览次数:48 3.产品3浏览次数:34 等...

几秒内排名前十的是 1.产品2浏览次数:52 2.产品1浏览次数:49 3.产品4浏览次数:35 [/代码]

所以现在我想要FadeOut产品1,向上移动产品2,在第2位淡出产品1 ....同样会发生在前10名的其余部分。

我不知道这是否可能,这就是我在这里问的原因。

非常感谢!

1 个答案:

答案 0 :(得分:0)

月亮,这当然是可能的,但也许并非完全无足轻重。这与我在CMS中为文章进行推广/降级功能时遇到的挑战非常相似。在这种情况下,如果用户选择降级项目,例如从#4到#5,则第一步是获取值并通过Ajax进行更改。第二部分是确定下面值的id,并再次通过Ajax将其提升。诀窍是通过Ajax动态确定两个,以最大限度地减少数据库上的命中。

现在,在你的情况下,还有一个额外的步骤,即理论上一个元素可以向上或向下跳几个位置,在我的情况下,它总是只上升一个/下一个。因此,我认为诀窍是让系统了解当前的结果模式,并在变化时为其提供新的集合以进行比较。在此比较过程中,会出现褪色,闪烁等现象。

因此,从实际的角度来看,我将从一个返回数组的查询开始。在更新时,您可以返回包含更新数据的类似数组。使用数组函数,您可以比较第一组数据的位置,从项目1-X下降(在foreach循环中)如果项目已经删除,则将其淡出并进入相应的div。如果项目向上移动,您将其分配给更高的div。一个好的视觉效果可能是首先从背景颜色变为深色(或灰色),然后慢慢淡出效果。由于一次只有一个项目可以在div中,新项目基本上会“碰撞”下一个项目,因此确保重新分配每个项目以确保它不会消失是非常重要的。

我担心每隔几秒就会这样做......这就是很多数据库命中,Javascript会很难推动客户端的浏览器。也许每10-15秒就更合适了。