Mianowicie, pasek wgrywania plików, w IE chodzi bardzo ładnie, pliki sie wgrywaja akcja zakonczona pomyslnie. W FF i Operze zatrzymuje się (nie ma reguły) i uploadowanie jakby stopuje, kiedy użyje opcji "wyłącz animacje postępu wgrywania" dalej uploaduje w tle, no ale nie ma fajniutkiej animacji... Proszę o jakas wskazówke, może ktoś się już spotkał z podobnym problemem.
Kod
<script language="JavaScript">
var doc = document;
var totalsize=<TMPL_VAR data_total_dgt>;
var dat = new Array(<TMPL_VAR nbars>);
var xstop=0;
for(i=0;i<dat.length;i++)dat[i]=0;
function changeValue(id,value)
{
if(!id)return;
if(doc.getElementById(id))
{
doc.getElementById(id).innerHTML = value;
}
}
function SP(cursize,time,speed,files,left)
{
var percent = parseInt(100*parseFloat(cursize)/parseFloat(totalsize));
if(doc.getElementById('upload_status'))doc.getElementById('upload_status').style.width = percent+'%';
changeValue('percent', percent+'%' );
changeValue('current',cursize);
changeValue('speed',speed);
changeValue('files',files);
changeValue('time', convertSeconds(time) );
changeValue('left', convertSeconds(left) );
PB(speed);
}
function convertSeconds(seconds)
{
hours = parseInt(seconds/3600);
mins = parseInt((seconds-hours*3600)/60);
secs = seconds - hours*3600 - mins*60;
if(hours<10){ hours = '0'+hours; }
if(mins<10){ mins = '0'+mins; }
if(secs<10){ secs = '0'+secs; }
return hours+':'+mins+':'+secs;
}
function Message(msg)
{
if(!doc.getElementById('message'))return;
doc.getElementById('message').innerHTML += msg+'<br>';
window.scrollBy(0,550);
doc.getElementById('message').scrollTop+=50;
}
function ClosePopUp()
{
if(doc.getElementById('close_finished') && document.getElementById('close_finished').checked==true)self.close();
}
function PB(val)
{
if(!doc.getElementById('curr_speed'))return;
for(i=0;i<dat.length;i++)
{
dat[i] = dat[i+1];
}
dat[dat.length-1] = val;
if(doc.getElementById('curr_speed'))doc.getElementById('curr_speed').innerHTML = val;
setBarValues();
}
function setBarValues()
{
var bar_height = doc.getElementById('bar_table').style.height;
bar_height = bar_height.replace(/px/,'');
max_value=1;
for(i=0;i<dat.length;i++){if(parseInt(dat[i])>max_value)max_value=dat[i];}
for(i=1;i<=dat.length;i++)
{
if(dat[i-1]=='' || !dat[i-1])dat[i-1]=0;
newh = bar_height*(1 - dat[i-1]/max_value);
if(newh<0)alert(i+':'+dat[i-1]+':'+max_value);
doc.getElementById("b"+i).style.height = newh+'px';
}
}
function updateFileStatus(id,classname,text,size)
{
if(doc.getElementById('fs'+id))
{
doc.getElementById('fs'+id).className=classname;
doc.getElementById('fs'+id).innerHTML=text;
doc.getElementById('fss'+id).innerHTML=size;
}
}
function jahDone(url)
{
if (req.readyState == 4)
{
if (req.status == 200)
{
window.clearTimeout(timeoutId);
results = req.responseText;
if(!xstop)eval(results);
}
}
}
function callInProgress (xmlhttp) {
switch (xmlhttp.readyState) {
case 1: case 2: case 3:
return true;
break;
// Case 4 and 0
default:
return false;
break;
}
}
var timeoutId;
function jah(url)
{
url = url+'&rnd='+Math.random();
if (window.XMLHttpRequest)
{
req = new XMLHttpRequest();
req.onreadystatechange = function() {if(window.jahDone)jahDone(url);};
req.open("GET", url, true);
req.send(null);
}
else if (window.ActiveXObject)
{
req = new ActiveXObject("Microsoft.XMLHTTP");
if (req)
{
req.onreadystatechange = function() {if(window.jahDone)jahDone(url);};
req.open("GET", url, true);
req.send();
}
}
timeoutId = window.setTimeout(
function()
{
if ( callInProgress(req) )
{
req.abort();
window.clearTimeout(timeoutId);
jah(url);
}
},
19000
);
}
</Script>
var doc = document;
var totalsize=<TMPL_VAR data_total_dgt>;
var dat = new Array(<TMPL_VAR nbars>);
var xstop=0;
for(i=0;i<dat.length;i++)dat[i]=0;
function changeValue(id,value)
{
if(!id)return;
if(doc.getElementById(id))
{
doc.getElementById(id).innerHTML = value;
}
}
function SP(cursize,time,speed,files,left)
{
var percent = parseInt(100*parseFloat(cursize)/parseFloat(totalsize));
if(doc.getElementById('upload_status'))doc.getElementById('upload_status').style.width = percent+'%';
changeValue('percent', percent+'%' );
changeValue('current',cursize);
changeValue('speed',speed);
changeValue('files',files);
changeValue('time', convertSeconds(time) );
changeValue('left', convertSeconds(left) );
PB(speed);
}
function convertSeconds(seconds)
{
hours = parseInt(seconds/3600);
mins = parseInt((seconds-hours*3600)/60);
secs = seconds - hours*3600 - mins*60;
if(hours<10){ hours = '0'+hours; }
if(mins<10){ mins = '0'+mins; }
if(secs<10){ secs = '0'+secs; }
return hours+':'+mins+':'+secs;
}
function Message(msg)
{
if(!doc.getElementById('message'))return;
doc.getElementById('message').innerHTML += msg+'<br>';
window.scrollBy(0,550);
doc.getElementById('message').scrollTop+=50;
}
function ClosePopUp()
{
if(doc.getElementById('close_finished') && document.getElementById('close_finished').checked==true)self.close();
}
function PB(val)
{
if(!doc.getElementById('curr_speed'))return;
for(i=0;i<dat.length;i++)
{
dat[i] = dat[i+1];
}
dat[dat.length-1] = val;
if(doc.getElementById('curr_speed'))doc.getElementById('curr_speed').innerHTML = val;
setBarValues();
}
function setBarValues()
{
var bar_height = doc.getElementById('bar_table').style.height;
bar_height = bar_height.replace(/px/,'');
max_value=1;
for(i=0;i<dat.length;i++){if(parseInt(dat[i])>max_value)max_value=dat[i];}
for(i=1;i<=dat.length;i++)
{
if(dat[i-1]=='' || !dat[i-1])dat[i-1]=0;
newh = bar_height*(1 - dat[i-1]/max_value);
if(newh<0)alert(i+':'+dat[i-1]+':'+max_value);
doc.getElementById("b"+i).style.height = newh+'px';
}
}
function updateFileStatus(id,classname,text,size)
{
if(doc.getElementById('fs'+id))
{
doc.getElementById('fs'+id).className=classname;
doc.getElementById('fs'+id).innerHTML=text;
doc.getElementById('fss'+id).innerHTML=size;
}
}
function jahDone(url)
{
if (req.readyState == 4)
{
if (req.status == 200)
{
window.clearTimeout(timeoutId);
results = req.responseText;
if(!xstop)eval(results);
}
}
}
function callInProgress (xmlhttp) {
switch (xmlhttp.readyState) {
case 1: case 2: case 3:
return true;
break;
// Case 4 and 0
default:
return false;
break;
}
}
var timeoutId;
function jah(url)
{
url = url+'&rnd='+Math.random();
if (window.XMLHttpRequest)
{
req = new XMLHttpRequest();
req.onreadystatechange = function() {if(window.jahDone)jahDone(url);};
req.open("GET", url, true);
req.send(null);
}
else if (window.ActiveXObject)
{
req = new ActiveXObject("Microsoft.XMLHTTP");
if (req)
{
req.onreadystatechange = function() {if(window.jahDone)jahDone(url);};
req.open("GET", url, true);
req.send();
}
}
timeoutId = window.setTimeout(
function()
{
if ( callInProgress(req) )
{
req.abort();
window.clearTimeout(timeoutId);
jah(url);
}
},
19000
);
}
</Script>
solved, problem nie tkwił w skypcie js