Hi, Some time ago benoit had suggested that we use the createElement() function to create layers inside DOM browsers. After hitting my head against the wall in trying to prevent slow downs after with each newly created layer, I've found the createElement() function to be more efficient than insertAdjacentHTML(). I don't know how well this will scale with nested layers, but I think it's a more efficient way to go.
Please see the code below. Any comments? Speed Test - 100 layers @ 170ms. p._create = function() { if (this.parent && !this.elm) { DynElement._flagEvent(this,'precreate'); var elm, parentElement; parentElement = this.parent.elm; if(dynapi.ua.v<5){ parentElement.insertAdjacentHTML("beforeEnd",this.getOuterHTML()); elm = parentElement.children[parentElement.children.length-1]; } else { elm=document.createElement('DIV'); elm.id=this.id; elm.style.position='absolute'; elm.style.pixelLeft=(this.x||0); elm.style.pixelTop=(this.y||0); elm.style.width=(this.w||'auto'); elm.style.height=(this.h||'auto'); elm.style.backgroundColor=(this.bgColor||'transparent'); elm.style.zIndex=(this.z||1); elm.style.cursor=(this._cursor||'auto') elm.style.overflow=(this._overflow!=null)? 'hidden;':''; if(this.bgImage!=null) elm.style.backgroundImage='url('+this.bgImage+')'; if (this.bgImage==null && this.html==null) elm.style.backgroundImage='none'; if (this.clip) elm.style.clip='rect('+this.clip[0]+'px '+this.clip[1]+'px '+this.clip[2]+'px '+this.clip[3]+'px)'; else if (this.w!=null && this.h!=null) elm.style.clip='rect(0px '+this.w+'px '+this.h+'px 0px)'; elm.style.visibility=(this.visible==false)? 'hidden':'inherit'; elm.innerHTML=this.getInnerHTML(); parentElement.appendChild(elm); } DynLayer._assignElement(this,elm); DynElement._flagEvent(this,'create'); } }; -- Raymond Irving __________________________________________________ Do you Yahoo!? Yahoo! Tax Center - forms, calculators, tips, more http://taxes.yahoo.com/ ------------------------------------------------------- This SF.net email is sponsored by: Etnus, makers of TotalView, The debugger for complex code. Debugging C/C++ programs can leave you feeling lost and disoriented. TotalView can help you find your way. Available on major UNIX and Linux platforms. Try it free. www.etnus.com _______________________________________________ Dynapi-Dev mailing list [EMAIL PROTECTED] http://www.mail-archive.com/[EMAIL PROTECTED]/