settimeoutとsetIntervalを組み合わせてQQのアイコンのフラッシュをシミュレートします
1192 ワード
注意:$はjQueryメソッド、$(el).attr(name,[value])は要素のプロパティを設定または返します.
function flashIcon(el, duration){
if(isNaN(duration))duration = 800;
$(el).attr("stopflash", "false");
var handler = window.setInterval(function(){
if($(el).attr("stopflash")=="true"){
window.clearInterval(handler);
return;
}
el.style.marginLeft = "2px";
el.style.marginTop = "2px";
window.setTimeout(function(){
el.style.marginLeft = "";
el.style.marginTop = "";
},duration/2);
}, duration)
}
function stopFlash(el){
$(el).attr("stopflash", "true");
}
//
$("img.icon").each(function(){
flashIcon(this);
$(this).one("click",function(){ stopFlash(this);}); //
})