我有一个带有小插图云的网页,里面有一条小信息 从包含30条消息的mySql表中随机出现
完美无缺
代码:
$select = mysql_query("SELECT * FROM `cloudbig` ORDER BY RAND() LIMIT 1");
如果刷新页面,则会显示另一条消息
我的客户希望......如果用户在该页面上,云将更改为另一个 随机消息每20秒并具有平滑的淡入淡出效果
我对脚本的看法有任何想法 - 不仅仅是这样的 “+ 20秒GET NEXT记录ORDER BY RAND()”......以及一些javascript脚本 为了淡出?
答案 0 :(得分:2)
你可以从数据库中获取一堆消息,将它们回显到一个Javascript数组中,然后编写/找到一个带有效果的javascript循环(你可以使用jQuery进行淡化)。这是一种“缓存”类型的方法。
如果表的内容变化很快,或者由于其他原因导致每次访问的固定大小的池不可接受,则可以使用AJAX向服务器发出异步请求。这样,您就可以从服务器动态获取新消息。这可能不是必要的,我建议采用上述方法。
答案 1 :(得分:1)
至少有三种不同的方法可以解决这个问题。
一个是列出您希望它们去的所有消息,并且只有其中一个可见。在JavaScript中,您可以在超时时循环访问它们。
另一种可能性是只显示一条消息,然后在超时后通过AJAX获取下一条消息。
两者的混合体最初不会显示任何消息,但是一旦文档完成加载并将它们加载到数组客户端,您的JavaScript就会通过AJAX获取所有消息。然后你可以使用超时循环它们。这将是我的首选方式,但这取决于你。