我想知道这是否可以实现。
我知道如何使用SQL从我的数据库中获取前10名。但我想更进一步。
我的想法是每隔几秒钟更新一次DIV。首先,脚本将检查数据库中是否有任何更新,如果有,则应更新DIV。我可以自己做这件事,但我的问题是:我能用jQuery来做动画吗?
示例:代码前10名已知为1。产品1视图: 49 2.产品2视图: 48 3.产品3视图: 34,等等...
几秒钟内前10名是1.产品2浏览量: 52 2.产品1浏览量: 49 3.产品4浏览量: 35 /code
所以现在我想要FadeOut产品1,将产品2向上移动,fadeIn产品1在2....the的位置上,前10名的其余部分也会发生同样的情况。
我不知道这是不是可能的,这就是为什么我在这里问。
非常感谢!
发布于 2010-10-29 11:41:04
月球,这当然是可能的,但也许不是完全微不足道的。这非常类似于我在CMS中遇到的挑战,当时我正在为文章做提升/降级功能。在这种情况下,如果用户选择将一项降级,比如从#4降级到#5,第一步是获取值并通过Ajax进行更改。第二部分是确定下面值的id,并再次通过Ajax提升它。诀窍是通过Ajax动态确定这两个,以最大限度地减少对数据库的访问。
现在,在你的例子中有一个额外的步骤,理论上一个元素可以向上或向下跳几个位置,而在我的例子中,它总是向上/向下一个。因此,我认为诀窍是让系统意识到当前的结果模式,并在更改时为其提供新的集合来进行比较。在这个比较过程中,会出现褪色、闪烁等现象。
因此,从实际的角度来看,我会从一个返回数组的查询开始。在更新时,您可以返回一个类似的数组,其中包含更新的数据。使用数组函数,您可以比较第一组数据中的位置,从项目1到X(在foreach循环中)降序。如果项目已被删除,则将其淡出并放入适当的div中。如果该项目向上移动,您可以将其分配到更高的div。一个好的视觉效果可能是首先从背景色转到深色(或灰色),然后慢慢淡出以获得效果。因为一次只能有一个项目在div中,所以新的项目本质上会“颠簸”下一个项目,所以确保每个项目都被重新分配,这样它就不会消失,这一点很重要。
我担心每隔几秒钟就这样做一次……这是大量的DB命中,而Javascript会给客户端的浏览器带来相当大的压力。也许每10-15秒一次会更合适。
https://stackoverflow.com/questions/4048498
复制相似问题