Newsgroup: it.comp.lang.javascript
Titolo: menù dhtmlcentral da problemi

ciao ragazzi
	sto sviluppando un sito ed ho trovato un ottimo menů che
poteva essermi utile, il coolmenů di [
www.dhtmlcentral.com
].
Effettivamente il codice č davvero valido, purtroppo ho riscontrato un
problema con Firebird 0.6.1 e Mozilla 1.4. Provate a vedere queste due
pagine [
www.giornalotto.altervista.org/test/test1.html
 e test2.html]
Purtroppo in test2.html nn capisco xchč il browser mi aggiuge 5px :-(
Ho fatti alcuni piccoli test con IE 6sp1 e li va tutto bene [ok, lo so
che nn č un metro di riferimento valido visto che digerisce di tutto
:-) ] Anche Opera 7.11 renderizza bene il menů senza aggiungere
margini, anche se fa porcherie altrove, ma vabbč.
Se qlcn a qlc idea o vuole dare uno sguardo al codice gli sarei
davvero grato. 
PS
Ho provato a dare uno sguardo alle pagine usando il DOM inspector di
Moz, ma nn mi č molto chiaro dove poi sul codice potrei andare a
lavorare...
grazie cmq se qlc potrŕ darmi una mano
iauz
deadhead
-- 
begin  .signature
This is a .signature virus! Please copy me into your .signature!
See Microsoft KB Article Q265230 for more information.
end
Se vuoi scrivermi, togli ".okkupato"

 davvero grato.
Perché non chiedi direttamente a dhtmlcentral, visto che hai preso lo script
da lì?

da lì?
Già fatto, adesso attendo risposte dal loro forum. 
La mia speranza era di incontrare qlcn che si fosse imbattuto in octal
codice ed avesse avuto modo di fargli qlc miglioria.
Grazie cmq x la risposta, come scrissi MOOOLto tempo fa, questo rimane
tuttora uno dei migliori ng in quanto a competenza tecnica ed
atmosfera rilassata...
Have a nice day


 grazie cmq se qlc potrà darmi una mano


di coolmenu4
Grazie per il suggerimento, ma il codice che uso io è quello chiamato
proprio dhtmlcentel, all'interno dell'archivio zippato coolmenu.
Il codice è un po' diverso e onestamente nn ho molta voglia di stare
lì a riguardare tutto quanto.
Quindi, visto che la pigrizia aguzza l'ingegno (c) mi è venuto in
mente di usare questo suggerimento
[
http://www.jsdir.com/faq/faq.asp?espandi=mostra&numero=54
] per sapere
quanto spazio ho sulla pagina, toglierci 14 px che sn effettivamente
quanto il menù si pappa Moz a dx e settarlo come larghezza. Già che
c'erò ho risolto anche il problema del 1px bianco lasciato da IE
sempre a Dx.
Il codice che alla ho aggiunto e modificato all'inizio del file
[dhtmlcentral.js] è questo:
var larg; /* 
http://www.jsdir.com/faq/faq.asp?espandi=mostra&numero=54
*/
if(document.layers || (document.getElementById &&
(navigator.appName=="Netscape")))
	{
	larg=window.innerWidth-14;
	}
else if(document.all || (document.getElementById &&
(navigator.appName=="Microsoft Internet Explorer")))
	{
	larg=document.body.clientWidth;
	}
else
	{
	larg="100%";
	}
oM=new makeCM("oM"); oM.resizeCheck=1; oM.rows=1;  oM.onlineRoot="";
oM.pxBetween =0;
oM.fillImg="cm_fill.gif"; oM.fromTop=115; oM.fromLeft=155;
oM.wait=300; oM.zIndex=400;
oM.useBar=1; oM.barWidth="larg"; oM.barHeight="menu";
oM.barX=0;oM.barY="menu"; oM.barClass="clBar";
oM.barBorderX=0; oM.barBorderY=0;
etc etc
fatto ciò rimane solo un problema:
Netscape, Moz e quant'altro quando nn mi sfaldano la pagina di 14px
adesso appaiono cn un buchino  di 14 px bianchi.
Risolto anche questo in maniera un po' grezza ma efficace:
si crea un bel 
<div id="salvamenu"></div>
e nel CSS si scrive
#salvamenu {
	position: absolute;
	right: 0px; /* appiccicalo a DX*/
	top:115px; /*distanza dall'alto del menù*/
	layer-background-color:#33cc33;
	background-color:#33cc33;
	width:20;  /* lo spazio a DX è di soli 14px ma melius abundare
quam deficere*/
	height:23; /* il menù è alto 23 px*/
}
et voilà il problema è bello che risolto.
Mamma come sn soddisfatto, mi sn creato un workaround :-)
L'unico neo sul quale potrei ancora un poco lavoricchiare è il fatto
che se vario le dimensioni della finestra in cui è visualizzata la
pagina, la barra rimane delle stesse dimensioni di quando è stata
renderizzata.
Potrei lavorare su uno script che mi renderizza di nuevo la pagina se
le dimensioni cambiano, senza xò dover riscaricare tutti i dati. Penso
che un buon punto di partenza possa essere lo script che DW MX
aggiunge di solito se crei dei div, per sopperire al bug di NN 4.
Il codice è questo, se qlcn ha suggerimenti o consigli o ha già
implementato in altra maniera una soluzione ad un problema del genere,
si faccia pure avanti!
function reloadPage(init) {
  if (init==true) with (navigator) {if
((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.pgW=innerWidth; document.pgH=innerHeight;
onresize=reloadPage; }}
  else if (innerWidth!=document.pgW || innerHeight!=document.pgH)
location.reload();
}
reloadPage(true);
Vabbè, adesso torniamo a giocare che il sito prima è pronto meglio è!
grazie armageddon per i suggerimenti e per avermi dato lo stimolo a
cercare!
PS
prova ad andarea rivedere le suddette pagine ora... che tu noti c'è
ancora qlc problema?
