使用Javascript实现闪烁效果

使用Javascript实现闪烁效果,javascript,Javascript,我想添加一个对象的flash动画,这样当发生什么事情时它会闪烁。 如何在Javascript中实现这一点 我希望块对象闪烁 function createBlocks(source) { $.ajax({ url : "blockList", type : "GET", dataType : "json", data : { source : source },

我想添加一个对象的flash动画,这样当发生什么事情时它会闪烁。 如何在Javascript中实现这一点

我希望块对象闪烁

    function createBlocks(source) {
    $.ajax({
        url : "blockList",
        type : "GET",
        dataType : "json",
        data : {
            source : source
        },
        success : function(response) {              
            var arrayBlock = [];
            var source1 = parseInt(response[0].source);
            var container = document.getElementById("block"+source1);
            if(container.childNodes[1])container.removeChild(container.childNodes[1]);
            for (var i = 0; i < response.length; i++) {

                var block = {};
                source1 = parseInt(response[i].source);
                block.level = parseInt(response[i].level, 10);
                block.width = parseFloat(response[i].width);
                block.position = parseInt(response[i].position, 10);

                block.name = response[i].superCategory.toString();
                block.colour = response[i].statusColor.toString(); // colour
                arrayBlock.push(block);     
                }

            $('#block'+source1).Block({
                'height' : 300,
                'base' : 1200,
                'slices' : 4,
                'slice_separation' : 0.1,
                'colours' : [ 'red', 'yellow', 'green', 'blue' ],
                'text' : [ '1', '2', '3', '4' ],
                'source' : source1,
                'arrayBlock' : arrayBlock


            });
            setTimeout("createBlocks("+source1+")",3000);           
        },
        Error : function() {
            setTimeout("createBlocks("+source1+")",3000);
            alert("Error: loading the Blocks");
        }
    });

}
进一步的解释是,我希望这个闪烁的动画在我收到源代码的某个时间之后出现。
我怎样才能做到这一点呢?

下面的代码只制作了眨眼的一次性动画,之后的代码每500毫秒重复一次

function blinker(element, duration)
{
       element.style.opacity = 0;
       setTimeout(function(){  element.style.opacity = 1;}, duration);  
}

setInterval(function(){ blinker(document.getElementById("myTable"), 500) }, 500);
只需将您想要的内容分配给myTable

编辑:

如果您的元素是在AJAX请求之后创建的,您应该像这样使用上面的函数:

AjaxReq(function(){
   Blinker(myElement, 500);
});
将所有AJAX放在一个函数中:

function AjaxReq(callback)
{
  $.ajax({
 // your ajax settings
   .success :  function(data)
   {
       callback();
   } 
  });
}
按如下方式调用上述函数:

AjaxReq(function(){
   Blinker(myElement, 500);
});
为什么要执行所有这些步骤

当Javascript达到.success状态时,它不会等待,直到脚本结束。当然,当JS达到.success状态时,数据还没有被填充,所以它仍然是空的,这不会导致闪烁。您应该做的是添加一个回调,它使javascript在完全接收数据后执行回调。换句话说,它在完全完成后等待状态为“.success”,然后执行回调。如果元素位于从AJAX接收的数据变量的某个位置,则将数据作为参数传递给回调,并在回调中使用它

...
.success : function(data)
{
 callback(data);
}
..
您可以在此处阅读有关Javascript此功能的更多信息:

您可以为发生的某些事情添加eventhandler,并在该处理程序中更改css参数您的对象对象您所说的对象是什么意思?我有一个块数组,我希望这些块在发生某些事情时闪烁。在JavaScript部分最简单的方法是什么?添加了代码和一些进一步的解释我添加了一些代码,它还能工作吗?我目前正在尝试,但无法使其工作,我将myTable更改为块对象,而不是向块元素添加id,然后用该id替换myTable,而不使用。元素是在AJAX请求之后创建的吗?好的。是的,它在ajax请求之后渲染嗯,我不知道你的意思。你可以用代码来显示吗?另外,不透明度是未定义的。。我是否需要定义某种不透明度或。。?