Don P: Warum ist dieses Script im IE sooo viel ruckeliger und langsamer

Beitrag lesen

Hallo,

Beim kurzen Blick ins Script ist mir aufgefallen, dass du immer wieder mit document.getElementById auf die Elemente zugreifst. Du solltest diese Zugriffe mal zwischenspeichern. Nach meiner Erfahrung laufen Scripte dann runder:

Stimmt. z.B. in der Schleife

for(var i = 0; i < document.getElementsByName('thumbnail').length;i++) {/*...*/}

muss der Browser bei jedem Schleifendurchlauf alle thumbnail-Elemente raussuchen und zählen. Einmal würde doch völlig reichen, also besser so:

   var thumbnails = document.getElementsByName('thumbnail');  
   for(var i = 0; i < thumbnails.length;i++) {/*...*/}  

Auch hier z.B.:

var pixelPositionImDiv = pixelPositionVonLinks + Number(document.getElementById('thumbreihendiv').style.left.substr(0,document.getElementById('thumbreihendiv').style.left.length - 2));

muss das DIV-Element unnötigerweise zweimal im DOM-Baum gesucht werden. Schneller wäre etwas wie:

   var divStyleLeft = document.getElementById('thumbreihendiv').style.left;  
   var pixelPositionImDiv = pixelPositionVonLinks + Number(divStyleLeft.substr(0,divStyleLeft.length - 2));  

Gruß, Don P