在img上设置闪烁动画的时间

我正在使用此代码在我的网站上闪烁我的徽标。 但是当它在浏览时继续闪烁时会变得很烦人,我怎样才能设置一个时间让它闪烁一下像页面加载的前15秒,然后停止?

我正在使用的JS代码:

$(document).ready( function(){ var t; const fparam = 100; const uparam = 100; window.flickr = function(){ if(Math.round(Math.random())){ $("#logodcoi").css("visibility","hidden"); t = setTimeout('window.unflickr()',uparam); } else t = setTimeout('window.flickr()',fparam); } window.unflickr = function(){ if(Math.round(Math.random())){ $("#logodcoi").css("visibility","visible"); t = setTimeout('window.flickr()',fparam); } else t = setTimeout('window.unflickr()',uparam); } t = setTimeout('window.flickr()',fparam); }); 

你可以有一个计数器,然后用它来决定是否要设置另一个超时。 作为旁注,您不应该向窗口添加函数,然后将字符串传递给setTimeout 。 总是只传递函数本身:

 $(document).ready(function(){ var t; var amount = 0; const fparam = 100; const uparam = 100; function timeout(f, t) { // this function delegates setTimeout if(amount++ < 150) { // and checks the amount already (un)flickered setTimeout(f, t); // (150 * 100 ms = 15 s) } } var flickr = function(){ if(Math.round(Math.random())){ $("#logodcoi").css("visibility","hidden"); t = timeout(unflickr,uparam); } else t = timeout(flickr,fparam); }; var unflickr = function(){ if(Math.round(Math.random())){ $("#logodcoi").css("visibility","visible"); t = timeout(flickr,fparam); } else t = timeout(unflickr,uparam); }; t = timeout(flickr,fparam); }); 

我看到你正在使用jquery,你可以使用以下内容,如果我没记错的话,我在下面使用的所有东西都是1.0以来的jquery,所以你应该是好的:

 counter = 1; function hideOrShow(){ $(".classToSelect").animate({"opacity": "toggle"}, 100); counter = counter +1; if (counter >= 21) clearInterval(flickerInterval); } flickerInterval = setInterval(hideOrShow, 100); 

将选择器,动画持续时间和变量名称更改为您喜欢/需要的任何名称。