Newsgroup: it.comp.lang.javascript
Titolo: layer

qual'e il comando iavascript per creare un layer?
ho provato acrare un file HTM con all'inerno un layer e poi l'ho inserito
all'interno della funzione con il comando
document.write('<!--#include virtual="/utilita/livelli/livello.asp"-->')
ma non funziona.
Il mio problema è quello di crare un layer di nome pippo in una fiestra
tramite funzione

 tramite funzione
Ricorda che se la pagina e' già stata caricata dal browser non puoi farci 
ulteriori document.write() a pena della riscrittura completa di tutta la 
pagina.
Al massimo puoi metterci un layer (magari nascosto) in cui ci scrivi 
dentro qualcosa all'occorrenza.
-- 
Ciao, Riccardo
------------------------------------------------------------------------
http://www.jsdir.com
 ---- Bring Your Site To Life!!!!
------------------------------------------------------------------------
http://www.dev2dev.it
 - La rete ha connesso nuove particelle - D2D006
------------------------------------------------------------------------
 ----> itALY = it <----

 qual'e il comando iavascript per creare un layer?
Mi sono ricordato di qualcosa scritta dal mitico Ro<*¿*>berto:
function Logo(Obj_Win){
if(!Obj_Win)Obj_Win=Get_Window_Show();
if(document.all){
 IndexSS=false;
 for (i=0; i<Obj_Win.document.styleSheets.length; i++) {
if((Obj_Win.document.styleSheets(i).href.toString().indexOf("NewLay.css")>1)
||(Obj_Win.document.styleSheets(i).id=="NewLay")){
   IndexSS=i; break;
     }
 }
 if(!IndexSS){IndexSS=0;
Obj_Win.document.createStyleSheet("NewLay.css",IndexSS);}
 Obj_Win.document.styleSheets(IndexSS).addRule ("#_Logo", " color:black;
fontFamily:univers,'serif'(Times),'new century schoolbook';
fontSize:"+parseInt((DimChar*Fattore_Ris))+";")
 Obj_Win.document.styleSheets(IndexSS).addRule ("#_Logo A", "
textDecoration:none; color:blue; fontFamily:univers,'serif'(Times),'new
century schoolbook'; fontSize:"+parseInt((DimChar*Fattore_Ris))+";")
 Obj_Win.document.styleSheets(IndexSS).addRule ("#_Logo A:hover",
"background:silver; color:red; fontFamily:univers,'serif'(Times),'new
century schoolbook'; fontSize:"+parseInt((DimChar*Fattore_Ris))+";")
 Obj_Win.document.body.insertAdjacentHTML('AfterBegin', ' <div id="_Logo"
STYLE="position:absolute;">'+Logo_HTML+'</div>')
}else if(document.layers){
 Obj_Win.document.layers['_Logo'] =null;
 Obj_Win.document.layers['_Logo'] = new Layer(0,Obj_Win);
 Obj_Win.document.layers['_Logo'].document.write(Logo_HTML);
 Obj_Win.document.layers['_Logo'].document.close();
 with (Obj_Win.document.layers['_Logo'].document.tags.NOBR){  color =
"black"; fontFamily="univers,'serif'(Times),'new century schoolbook'";
fontSize="'"+parseInt((DimChar*Fattore_Ris))+"'"; }
 with (Obj_Win.document.layers['_Logo'].
document.tags.LI
){  color = "red";
fontFamily="univers,'serif'(Times),'new century schoolbook'";
fontSize="'"+parseInt((DimChar*Fattore_Ris))+"'"; }
 with (Obj_Win.document.layers['_Logo'].document.tags.A){ textDecoration =
"none"; color = "blue"; fontFamily="univers,'serif'(Times),'new century
schoolbook'"; fontSize="'"+parseInt((DimChar*Fattore_Ris))+"'";}
 Obj_Win.document.layers['_Logo'].visibility="visible";
}
Lay_Logo=(document.all?Obj_Win.document.all:Obj_Win.document.layers)['_Logo'
];
Win_Logo_Height=(document.all?Obj_Win.document.body.clientHeight-12:Obj_Win.
innerHeight-11);
Win_Logo_Width=(document.all?Obj_Win.document.body.clientWidth:Obj_Win.inner
Width-11);
Logo_Height=(document.all?Lay_Logo.scrollHeight :Lay_Logo.clip.height);
Logo_Width=(document.all?Lay_Logo.scrollWidth :Lay_Logo.clip.width)
if(document.all){
 Lay_Logo.insertAdjacentHTML('AfterBegin','<SPAN id="Sub_Logo"
STYLE="position:absolute;background:#EFFFFF;"><FONT
SIZE=-1><LI>'+Get_Posizione_Link(Obj_Win)
 +'</LI><LI>NewsGroup di riferimento <a
href=\"news:it.comp.lang.javascript\">it.comp.lang.JavaScript</a>'
 +'</LI><LI>'+Sub_LogoU_HTML+'</LI></FONT></SPAN>') ;
}else if(document.layers){
 Lay_Logo.document.layers['Sub_Logo'] = new
Layer(0,Obj_Win.document.layers['_Logo']);
 Lay_Logo.document.layers['Sub_Logo'].document.write("<FONT
SIZE=-1><LI><nobr>"+Get_Posizione_Link(Obj_Win)
 +"</LI><LI>NewsGroup di riferimento <a
href=\"news:it.comp.lang.javascript\">it.comp.lang.JavaScript</a>"
 +"</LI><LI>"+Sub_LogoU_HTML+"</LI></nobr></FONT>");
 Lay_Logo.document.layers['Sub_Logo'].document.close();
 Lay_Logo.document.layers['Sub_Logo'].bgColor="#EFFFFF";
 Lay_Logo.document.layers['Sub_Logo'].visibility="visible";
}
Sub_Lay_Logo=(document.all?Obj_Win.document.all:Lay_Logo.document.layers)['S
ub_Logo'];
Sub_Logo_Height=(document.all?Sub_Lay_Logo.scrollHeight
:Sub_Lay_Logo.clip.height);
Sub_Logo_Width=(document.all?Sub_Lay_Logo.scrollWidth
:Sub_Lay_Logo.clip.width);
(document.all?Sub_Lay_Logo.style:Sub_Lay_Logo).top=parseInt((Logo_Height-Sub
_Logo_Height)/2);
(document.all?Sub_Lay_Logo.style:Sub_Lay_Logo).left=-(Sub_Logo_Width);
Set_Clip(Sub_Lay_Logo, 0, 0, Sub_Logo_Height,Sub_Logo_Width);
Lay_Logo.onmouseover = function
On_MOver_Logo(){if(document.all)this.style.background='#7FFFD4';else
this.bgColor='#7FFFD4';top.Set_Clip(this,
0, -(Sub_Logo_Width),Logo_Height,Logo_Width);};
Lay_Logo.onmouseout = function On_MOut_Logo(){
if(document.all){El=window.top.Obj_Scroll_Ary[0].event.toElement;while((El)&
&(El.tagName!='HTML')){if (El.id.indexOf('_Logo')>-1){return
true;}El=El.parentElement;}this.style.background='';}
else this.bgColor=window.document.bgColor;top.Set_Clip(this, 0,
0,Logo_Height,Logo_Width);};
Set_Clip(Lay_Logo, 0, 0, Logo_Height,Logo_Width);
if(document.all){Lay_Logo.style.width=Logo_Width;Lay_Logo.style.height=Logo_
Height;}
return
Array(Lay_Logo,(Win_Logo_Height-Logo_Height),(Win_Logo_Width-Logo_Width));
}
function Get_Window_Show(){
 MaxDim_Frame=Array(this,0);
  FrameTemp_Ar=Array(this)
  for (wfs=0;wfs<FrameTemp_Ar.length;wfs++){
if((FrameTemp_Ar[wfs].frames.length>0)&&(FrameTemp_Ar[wfs].name.indexOf("nas
costo")==-1)){
    for (x=0;x<FrameTemp_Ar[wfs].frames.length;x++){
      FrameTemp_Ar[FrameTemp_Ar.length]=FrameTemp_Ar[wfs].frames[x];
    }
   }else if(FrameTemp_Ar[wfs].name.indexOf("nascosto")==-1){
    tempMaxDim_Frame = document.all ?
(FrameTemp_Ar[wfs].document.body.clientHeight *
FrameTemp_Ar[wfs].document.body.clientWidth) :
(FrameTemp_Ar[wfs].innerWidth*FrameTemp_Ar[wfs].innerHeight);
    if(tempMaxDim_Frame>MaxDim_Frame[1]){
     MaxDim_Frame[0]=wfs; MaxDim_Frame[1]= tempMaxDim_Frame;
    }
   }
  }
 return FrameTemp_Ar[MaxDim_Frame[0]];
}
Guarda se ti interessa qualcosa, ma non chiedermi spiegazioni perche' non ho
mai approfondito lo script.
--
Ciao
  [web]   
www.gfcarlotti.it
   [mail]   
fra...@gfcarlotti.it
    [pgp]  
www.gfcarlotti.it/pgp/franco.asc

 Un layer e' un tag html: <DIV .... > ... </DIV>
In ogni caso, un DIV (che non e' l'unico tag HTML che viene considerato 
un layer.. un layer e' .. un concetto, piu' che altro), non e' altro che 
"un" modo per dire al browser di rasterizzare un layer.
-- 
C'ya,
ZER0
  :. job profile - coder.gfxer.webDesigner
"Quanti angeli danzano sulla punta di uno spillo?"

 tramite funzione
Dipende tutto da "cosa" ci devi fare. Visto l'approccio che hai usato 
(l'include) puo' darsi che non sia la soluzione piu' ottimale al tuo 
problema (quello che sta a monte: Perche' devi creare un layer di nome 
pippo tramite funzione?)


Ciao,
guardadno alcuni script presenti su alcuni siti mi si sono incasinate
leggermente l'idee per quanto riguarda l'utilizzo dei layer :-)
Credo di aver capito i vari modi di accedere alle proprietà dei vari
livelli, ma non ho capito se NS4 richiede per forza il tag layer o se é
possibile usare lo stesso DIV.
Il dubbio mi é venuto perkè in alcuni script viene utilizzato LAYER se viene
riconosciuto NS4 e DIV se si riconosce IE, mentre in un caso no(anche se nei
browser compatibili per quello script NS4 é indicato)
Grazie
--
Mirthis
http://clik.to/sonataarctica
cor...@yahoo.it
ICQ#: 52348464

 browser compatibili per quello script NS4 é indicato)
Per NS4 i tag che identificano i layer sono <LAYER> e <ILAYER> che 
grossomodo corrispondono a i DIV con position:absolute, e 
position:relative.
Quindi, volendo, potresti usare i tag DIV anche con NS4, ricordandoti di 
specificare nei CSS che tali DIV hanno posizione absolute o relative.
Ho detto poc'anzi "grossomodo", perche' in realta' NS4.x rasterizza in 
modo differente i tag DIV dai tag suoi proprietari. Inoltre, per i tag 
proprietari di NS4.x, puoi usare un sacco di proprieta' e metodi che 
altrimenti non avresti.
To Sum Up, spesso puoi utilizzare i tag DIV, ricordando pero' che su 
NS4.x limiti le sue capacita', e rischi di avere problemi (tipo il 
resizing della finestra che ti sballa tutto); mentre puoi ricorrere ai 
LAYER e ILAYER laddove ti possono servire le capacita' intrinseche di 
questi due oggetti (come l'attributo SRC), o per cercare di migliorare 
problemi di rasterizzazione.


 layer".. anche la seconda. La terza (per IE4) un po' meno.. :)
Touche'! :-)
Ripassero' Maestro :-P
-- 
Ciao, Riccardo.
------------------------------------------------------------------------
http://www.jsdir.com
 ---- Bring Your Site To Life!!!!
------------------------------------------------------------------------
http://www.dev2dev.it
 - La rete ha connesso nuove particelle - D2D006
------------------------------------------------------------------------
    itALY = it