wpadłem na pomysł, że moja tabela znajdująca się gdzieś na stronie będzie się po trochu rozciągać w zależności od tego jak duży będziemy tam wstawiać tekst.
Doszedłem do czegoś takiego:
function r(x){
var y=Math.round(x);
if (x>y) x=y+1;
return x;
}
function t(j){
j=30*r(j/70);
var i=0;
while (i
i++;
setTimeout('document.getElementById("tab").style.height='+i,1000);
}
}
function info(){
var tab=new Array(<?php
include("conn.php");
$all=mysql_query("SELECT info FROM stateinfo");
$state=mysql_fetch_array($all);
print"'$state[0]'";
while($state=mysql_fetch_array($all)){
print",'$state[0]'";
}
?>
);
if (document.form2.state.value==0)document.getElementById("inf").innerHTML="";
else{
t(tab[document.form2.state.value-1].length);
document.getElementById("inf").innerHTML=tab[document.form2.state.value-1];
}
}
function test_DoFSCommand(command, args) {
document.form2.state.value=command;
info();
}
i wszystko powinno śmigać gdyby tylko nie fakt, że funkcja setTimeout jak się okazało odpala się w osobnym wątku i pętla nie czeka na jej wykonanie, tylko dalej iteruje zmienną “i” dlatego też cała tebela nagle wskakuje cała w odpowiednich rozmiarach nie dając tego efektu rozciągania.
Jeśli nie w ten sposób, to jak inaczej można uzyskać taki efekt?