Написал себе для динамичности сий код:
<script>
function calc_sum(a, b, c, d, N){
var x = parseInt(new Date().getTime()/1000); // убирание лишнего хвоста
var a = a;
var b = b;
var c = c;
var d = d;
var now_time = x;
var plus = (60*60*d); // юникод времени 60*60*N, где N - часы
//var si_time = now_time+plus;
//var si_time = ham;
//alert(now_time+" -> "+si_time+" -> <?=$set_time?>");
//alert(x+" > "+now_time+" + ("+plus+") ="+si_time+" -> <?=$set_time?>");
if(c>0){
if(b > 0 && a > 0){
var HV = c < now_time ? 1 : 0;
var timer = c < now_time ? now_time - c : 0;
var per_sec = (a / plus).toFixed(10);
var per_sec2 = now_time-c;
var as_sum = per_sec * b * timer;
// рабочая отладка показаний
//alert(c+" > (if "+c+" < "+now_time+" = "+per_sec2+" result["+HV+"]) AND "+a+"/"+plus+"="+per_sec+" AS sum -> "+as_sum);
$('#countSum'+N).html((per_sec * b * timer).toFixed(2));
}//else return 0;
}//else return 0;
}
setInterval(calc_sum,1000,"<?=$cfg["pf1"]?>","<?=$usdat["fa1"]?>","<?=$usdat["sbor"]?>","24","1");
setInterval(calc_sum,1000,"<?=$cfg["pf2"]?>","<?=$usdat["fa2"]?>","<?=$usdat["sbor"]?>","24","2");
setInterval(calc_sum,1000,"<?=$cfg["pf3"]?>","<?=$usdat["fa3"]?>","<?=$usdat["sbor"]?>","24","3");
setInterval(calc_sum,1000,"<?=$cfg["pf4"]?>","<?=$usdat["fa4"]?>","<?=$usdat["sbor"]?>","24","4");
setInterval(calc_sum,1000,"<?=$cfg["pf5"]?>","<?=$usdat["fa5"]?>","<?=$usdat["sbor"]?>","24","5");
</script>
Он содействует с php, я пока только обучаюсь сжатию, то что видите выше - это тот максимум, к которому я пришел, ранее было 5 таких функций (calc_sum1(), calc_sum2() и тд...)
В общем интересует как сократить setInterval'ы ибо они останутся на сервере, а саму функцию унесу на иной домен и она будет подключаемым компонентом.
Функция делает расчет от момента сбора юзером, с учетом кол-ва инвентаря fa( -N ) и доходности pf( -N );
1-5 обозначает id элемента; 24 - сутки.
Я бы и так оставил, да вот кажется мне не красиво столько setInterval'ов