接收新数据时闪烁效果

时间:2010-12-10 05:52:04

标签: jquery

我正在编写一个“搜索游戏”应用程序,我使用jQuery通过PHP自动获取新的游戏请求,从MySQL表中打印出行。

我想要做的是让新请求闪烁几秒钟,也许是红色或其他东西。我怎么能用jQuery做到这一点?我想我必须以某种方式比较数据,但不确定如何。

3 个答案:

答案 0 :(得分:9)

或者像旅行者说的那样,或者你可以这样做:

$('.className Or #elementId').fadeOut(400).fadeIn(400).fadeOut(400).fadeIn(400);

我自己在自己的网站上使用它,它完美无缺。脚本不漂亮,但它可以完成这项工作。

<强>更新
对于想要使用更多jQuery方式的人,请使用下面的代码来实现相同的效果。

$.fn.blink = function (speed, blink) {
    var options = {
        xSpeed: speed ? speed : 400, // Set the blink speed
        xBlink: blink ? blink : 5 // Set how many times the element should blink
    };
    for (var i = 0; i < options.xBlink; i++) {
        this.fadeOut(options.xSpeed);
        this.fadeIn(options.xSpeed);
    }
    return this; // To support jQuery chain-ability
};

示例:

$(function() {
    $('#MyDiv').blink(600, 3);
});

使用链式能力的例子:

$(function() {
    $('#MyDiv').blink(600, 3).css("background-color", "green");
});

答案 1 :(得分:2)

  • 当有新数据出现时,请将表示此新数据的元素设为一个类。

$('#theElementContainingNewText').addClass('blinking');

  • 编写一个函数,选择具有闪烁类的所有元素并切换其可见性

  • 使用函数setInterval每隔500ms左右定期调用切换功能

setInterval(function(){$('.blinking').toggle();},500);

答案 2 :(得分:0)

试试这个

$(document).ready(function() {
    $("#theElement").click(function() {
        $("#ContainingNewText").animate({
            height: "toggle",
            opacity: "toggle"
        }, "slow");
    });
});