Только что дал локальным переменнам второй функции now, result и progress другие имена (что бы не было случайных пересечений с первой функцией) и всё заработало. Вроде локальные переменные, а всё равно как-то влияли друг на друга.
Ну и, конечно, оба ваших варианта работают теперь отлично:
setTimeout(
(function (N,M) {
return function (){
fSetTimeoutRemove(N, 500, 0, 1000, M);
}
})(eLineF1,startF1)
,
1000
);
или так
setTimeout(
function (){
fSetTimeoutRemove(eLineF1, 500, 0 , 1000, startF1);
},
1000
);
Спасибо