cs_bultez
Messages postés13616Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 2013
-
1 août 2005 à 12:12
cs_bultez
Messages postés13616Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 2013
-
2 août 2005 à 09:29
Bonjour,
pour une question de performances,
j'ai simplifié au maximum (?) le script que
j'ai mis dans les sources de ce site
( tri multi-colonnes d'un tableau HTML ),
il doit être compatible Internet Explorer
et FireFox, ça marche mais, pour trier
~2000 lignes : 18' avec IE, 55' avec FF
je commet une connerie où ?
var tmp=\"abcdefghijklmnopqrstuvwxyz\"+
\"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"+
\"0123456789\";
var alea,t=\"\";
for ( var n=0;n<2000;n++)
{ alea=Math.floor(Math.random()*tmp.length);
window.status=n+\" ~ \"+alea;
t+=\"----
"+tmp.charAt(alea)+"-0, \"+
\""+tmp.charAt(alea)+"-1, \"+
\""+tmp.charAt(alea)+"-2, \"; }
document.writeln(t);
document.getElementById(\"tri\").style.display=\"inline\";
</script>
</html>
merci d'avance
toutes les suggestions pour un
meilleur temps de réponse ( IE,FF )
sont les bienvenues.
Cordialement. Bul. ~Site~~[mailto:marcelBultez@tiscali.fr Mail]~
GhislainLavoie
Messages postés289Date d'inscriptionvendredi 11 mars 2005StatutMembreDernière intervention 3 avril 20083 1 août 2005 à 19:07
Salut!
Je ne crois pas qu'on y peux grand chose car 2000 lignes soit 6000 objets a lire et modifier, il n'y a pas de miracle en DHTML. Surtout avec NN et FF qui ne performent pas avec boucoup de volume lord de manipulation en DHTML.
J'ai fait un test qui prend 9' avec EI et 40' avec FF. La solution proposé c'est de lire et écrire le node text dans la cellule au lieu du contenu de la cellule en entier. Puisqu'il n'y a pas de raison valable qu'il y est du html dans les données (utilisation CSS), ça me semble une modification valable.
<script type= "text/javascript">
d=0;
function trier(tableau,Zone)
{
var ligfin =tableau.rows.length; // nbr lignes
var buffer= new Array(ligfin); // buffer[nbr lignes]
var c,l;
var dj=new Date();
window.status=">> Début "+dj.getHours()+
":"+dj.getMinutes()+
":"+dj.getSeconds()+" >>";
cs_bultez
Messages postés13616Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 2 août 2005 à 09:29
résultats après test, sur mon vieux machin,
11' avec IE, au lieu des 18, pas mal du tout.
Cordialement. Bul. ~Site~~[mailto:marcelBultez@tiscali.fr Mail]~