Ниже приведено решение, которое я создал для решения проблемы равномерного замирания из обводки и заливки, и я сделал его легко повторным, сделав его функцией.
секунд - это время, которое потребуется для затухания и обратного вызова, чтобы вы могли выполнить другое действие после его завершения.
В моем проекте моя функция обратного вызова удаляет многоугольник с карты и удаляет переменную.
function polygon_fadeout(polygon, seconds, callback){
var
fill = (polygon.fillOpacity*50)/(seconds*999),
stroke = (polygon.strokeOpacity*50)/(seconds*999),
fadeout = setInterval(function(){
if(polygon.strokeOpacity + polygon.fillOpacity <= 0.0){
clearInterval(fadeout);
polygon.setVisible(false);
if(typeof(callback) == 'function')
callback();
return;
}
polygon.setOptions({
'fillOpacity': Math.max(0, polygon.fillOpacity-fill),
'strokeOpacity': Math.max(0, polygon.strokeOpacity-stroke)
});
}, 50);
}