From: Raymond I. <xw...@ya...> - 2003-04-28 20:16:07
|
--- Kevin <ke...@ke...> wrote: > > "Raymond Irving" <xw...@ya...> wrote: > > > Kevin, > > > > Proposed DynLayer functions for use within > > assignElement(): > > > > p.getElmWidth = function(){ > > var w = parseInt(this.css.width); > > if(isNaN(w)) w=this.getContentWidth(); > > return w; > > }; > > p.getElmHeight = function(){ > > var h = parseInt(this.css.height); > > if(isNaN(h)) h=this.getContentWidth(); > > return h; > > }; > > Not sure if it will work. Is getContentWidth/Height > ever called and on what browsers did you see this? Whenever w==null and h==null then getContenWidth/Height is called to set the size of the layer. > I had come up with a cross browser version: > > p.getElmWidth=function() { > var r=this.elm, s=this.css; > if(r) { s=s.clip||s; return > s.width||r.offsetWidth; } > else return null; > }; > p.getElmHeight=function() { > var r=this.elm, s=this.css; > if(r) { s=s.clip||s; return > s.height||r.offsetHeight; } > else return null; > }; Will the above get the width of the layer when it's defined inside the style sheet? -- Raymond Irving > Unfortunately after HTML has been written the > element has style anyway. So testing for no style > value didn't work for me. We need something else. > Perhaps: > lyr=new DynL:ayer('a',100,100); > setClass('redbg','auto'); > will pull bgColor from the class 'redbg' and 'auto' > to > force getContentWidth/Height() (offsetWidth/Height) > rather than looking at element style (width/height) > which may contain valid size of 'a' or dynlayer size > defined in class 'redbg'. > > - > Kevin > > > while DynLayer._assignElement will now use: > > > > if (dlyr.html!=null && dlyr.html!='' && > (dlyr.w==null > > || dlyr.h==null)) { > > var cw = (dlyr.w==null)? dlyr.getElmWidth() : > null; > > var ch = (dlyr.h==null)? dlyr.getElmHeight() : > null; > > dlyr.setSize(cw,ch); > > } > > > > > > Please run a performance test on this to see if it > is > > ok. > > > > > > Any comments, suggestions? > > > > > > -- > > Raymond Irving > > > > > > --- Kevin <ke...@ke...> wrote: > > > > > > "Raymond Irving" <xw...@ya...> wrote: > > > > > > > > > Hi, > > > > > > > > > > > > > > > When using setClass('whatever',true) you > should > > > always > > > > > create dynlayer with width and height or 0. > This > > > is to > > > > > prevent dynlayer from attempting to autosize > the > > > > > layer. > > > > > > I disagree the w & h should be defaulted to null > in > > > the > > > constructor and not be touched until > _assignElement. > > > > > > > > It was suggested once that we get the width > and > > > the > > > > > height from the style of the layer, but that > > > might not > > > > > be a good thing to do as style sheets can > use > > > > > different values for width and height: > > > > > > > > > > width:100px; height:100px; > > > > > width:100%; height:100%; > > > > > width:100cm; height:100cm; > > > > > > A user/developer knowing that pixels are > supported > > > would use px in style sheets as in the same way > > > lyr=new DynLayer('z',10,10,'100%',100%') > > > wouldn't be expected to work in any case. > > > > > > > > If a layer's style width inside the style > sheet > > > was > > > > > set to 100% then the dynlayer would report > the > > > wrong > > > > > size, correct? > > > > > > > > > > Any thoughts on this? Should we document > that > > > users > > > > > set the width and height to 0,0 when using > style > > > > > sheets? Or should we enable > > > DynLayer.assignElement() > > > > > to first check for a valid css width/height > > > before > > > > > calling getContentWidth/Height? > > > > > > Defaults as explained above. Then in > assignElement: > > > 1) call new methods getElmWidth() & > getElmHeight() > > > to satisfy the style sheet requirement > > > then if the user/developer hasn't specified a > style > > > object > > > or class > > > 2) call getContentWidth() & getContentHeight() > to > > > satisfy > > > the auto size requirement (single character > > > DynLayers etc) > > > > > > - > > > Kevin. > > > > > > > > > > > > > -- > > > > > Raymond Irving > > > > > > > > > > > > > > __________________________________________________ > > > > > Do you Yahoo!? > > > > > The New Yahoo! Search - Faster. Easier. > Bingo > > > > > http://search.yahoo.com > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------- > > > > > This sf.net email is sponsored by:ThinkGeek > > > > > Welcome to geek heaven. > > > > > http://thinkgeek.com/sf > > > > > > _______________________________________________ > > > > > Dynapi-Dev mailing list > > > > > Dyn...@li... > > > > > > > > > > > http://www.mail-archive.com/dyn...@li.../ > > > > > > > > > > > > > > > > > > > ------------------------------------------------------- > > > This sf.net email is sponsored by:ThinkGeek > > > Welcome to geek heaven. > > > http://thinkgeek.com/sf > > > _______________________________________________ > > > Dynapi-Dev mailing list > > > Dyn...@li... > > > > > > http://www.mail-archive.com/dyn...@li.../ > === message truncated === __________________________________ Do you Yahoo!? The New Yahoo! Search - Faster. Easier. Bingo. http://search.yahoo.com |