переписал функцию старта, работает уже более быстро, но только всё ровно, в мозилле с одной скоростью с под одной вкладки , а Оперу из под 20-25 вкладок, так в Опере быстрей, ну а хром ещё быстрей)) от как переделал:
start: function(jk){
var i=Array();
var t=Array();
for(j=-5;j<4;j++){
i[j+5]=j*35; //установка элементов на начальные позиции(чтобы некоторые были сверху, а некоторые снизу)
}
var tm[jk] = setInterval(function(){
for(m=0;m<8;m++){
t[m] = ((i[m]+=4)<=105) ? i[m]+'px' : i[m] = -175;
if(t[m]==105){t[m]+='px'}
document.getElementById('cm'+jk+''+(m+1)).style.top=t[m];}
}, 5);
}
в связи с этим я подумал что нельзя будет решить с тем что некоторые функции лагают и их точное время окончания вычислить нельзя, но я подумал, что надо просто будет остановить анимацию, то бишь я понижаю чистоту интервала, останавливаю, ищю три последовательных элемента, что не находятся в промежутке(0-105), ставлю им выграшние комбинации, и включаю снова интервал, только уже вложений в функцию "стоп", и ставлю в него прокручивание с интервалом которой был до остановки, и ставлю условие на клирИнтервал, типа если первый элемент, которому я поставил комбинацию что выпала, достиг нуля, то всё остановить, сейчас напишу теперь это всё и должно правильно работать, потом выложу ещё исходник функции стоп