使用Javascript实现闪烁效果
我想添加一个对象的flash动画,这样当发生什么事情时它会闪烁。 如何在Javascript中实现这一点 我希望块对象闪烁使用Javascript实现闪烁效果,javascript,Javascript,我想添加一个对象的flash动画,这样当发生什么事情时它会闪烁。 如何在Javascript中实现这一点 我希望块对象闪烁 function createBlocks(source) { $.ajax({ url : "blockList", type : "GET", dataType : "json", data : { source : source },
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请求之后渲染嗯,我不知道你的意思。你可以用代码来显示吗?另外,不透明度是未定义的。。我是否需要定义某种不透明度或。。?