jquery的flash效果

我想使用jQuery fadeIn和fadeout 背景颜色 ,我尝试下面的代码,它影响完整的div内容,我需要为背景颜色添加闪光效果。

$('.countbox').css("background-color","#FF0000").fadeIn("fast").delay(800) .fadeout("fast"); 
checkout

我也尝试了这个,但它不起作用!

 $('.countbox').css("background-color","#FF0000").fadeIn("fast").delay(800).css("background-color","#FFFFFF"); 

有什么问题可以帮助我!

编辑

哎呀! 我的答案不适用于所有窗口。 哪一个只为当前窗口提供闪光效果,但我需要获得所有窗口的闪光效果。 例如: – 当我点击按钮时,它应该为我提供所有窗口的div闪光效果,就像在这个网站上一样 。

如你在评论中提到的那样,在单独的窗口中执行此操作,您需要对服务器进行某种回发,以便在发生这种情况时发出信号。

扩展omerkirk的答案(这是做IMO的正确方法)。

做一个setInterval(function(){。get();}); 定期从存储当前状态的某个后台服务器获取信息(每个用户可能……)。 当前状态发生变化时,执行.animate(); 在当前窗口的背景上匹配后台服务器的背景…

如果你有多个“驾驶”窗口而不是一个主窗口和x个客户端窗口,这可能会变得非常棘手和有问题……

真的,这是一个坏主意IMO …

考虑DrJokePu在jQuery animate backgroundColor上的答案

根据评论更新答案

这比你想要的工作要多得多。 您将需要一个包含2个表的数据库。 表将保存活动会话ID,表2将保留消息:

 tblSessions ID Int LastSeen DateTime SessionID Varchar(255) tblMessages ID Int Timestamp DateTime SessionID Varchar(255) Message Varchar(255) 

当访问者访问您的页面时,您需要检查访问者是否有会话ID。 如果访问者确实已有会话ID,请更新tblSessions表中的LastSeen列。 如果访问者没有会话ID,请分配并将其添加到tblSessions表。 加载后,应在所有页面上运行此代码。

您需要在数据库表tblSessions上运行查询,以删除LastSeen早于X时间的所有条目。 X的值应该是5分钟。 此查询可以在每个页面加载的顶部运行,也可以在服务器后端进程中运行。

现在,只要您想要闪现每个人的屏幕,就可以在tblMessagestblMessages中的每个条目添加一个条目。 将Timestamp设置为发送消息的时间,并将消息设置为“闪烁”。

在javascript的浏览器端,使用setInterval设置轮询function。 在轮询函数中,将ajax脚本调用到服务器端页面以返回任何消息。 此服务器端脚本应查询tblMessages以获取当前会话ID的任何条目并将其传回。 它还应该从表中删除条目。

回到您的javascript轮询function,您可以检查“Flash”消息并闪烁屏幕。 轮询function被称为访问者的实时性越高,但是在您的服务器上会有更多的负载。

就像使用tbleSessions表一样,如果超过X + 1分钟的时间,您将需要从tblMessages表中删除旧条目,否则您将在表中获得可能导致问题的旧结果。

所以..这将为访问您页面的任何人大致同时闪烁屏幕。 我粗略地说,因为没有办法在网络延迟的同时闪烁,每个人都会在略有不同的时间进行轮询……无论如何都不容易。

这是一个迟到的答案,我发现你的post试图找到我自己的项目^^,我刚刚开发了一个jQuery插件,它完全符合你的要求。

它非常易于使用:

 $("selector").flash() 

当然有一些配置可能。

检查演示并随意使用/ fork。

https://github.com/MarechJ/jQuery.flash

您无法为background-coloropacity设置动画。 您只能为其颜色设置动画。

检查这个插件 。

这适用于我没有任何插件

 $('.countbox').css("background-color","#FF0000"); setTimeout(function() { $('.countbox').css("background-color","#FFFFFF"); },800); 

我们还可以使用setInterval连续颜色闪烁,并在此方法中随机创建颜色。

这应该工作。 Jquery有自己的动画function,你不必使用任何插件。

 $(".countbox").animate({backgroundColor: "#ff0000"}, 1000); 

这应该在1000毫秒(1秒)内将背景颜色从其初始值设置为#ff0000。 我认为你应该包含来自jQueryUI的动画包。

希望能帮助到你

你正在寻找什么? 请看演示:

http://jsfiddle.net/naveed_ahmad/GbvGU/

为了在客户端(单个浏览器)上刷新背景,您可以使用jquery .animate() 。 您将在回调时使用它,或者在必须闪烁时使用它。
由于您希望Flash在整个Internet上发生,因此您需要在所有打开的浏览器上运行此动画。 有两种方法可以做到这一点。

  1. 在客户端设置超时,检查服务器数据是否应该闪烁 。 这样做的缺点是,如果你想要“几乎实时”的数据,你必须经常轮询,并且闪光不会在每个人的同一时间发生。
  2. 你提出了一个服务器端回调,它会在数据发生变化时通知所有打开的客户端闪存 ,但如果没有服务器端逻辑,你将无法做到这一点。 使用ASP.NET网页执行此操作阅读此http://msdn.microsoft.com/en-us/library/ms178208.aspx