Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Problema Menù Laterale

    Ciao a tutti!
    Vi chiedo aiuto per un problema che non riesco a risolvere: volevo utilizzare un javascript per un menù laterale che si apre al passaggio del mouse che ho trovato nella raccolta un javascript a settimana.
    Il problema è il seguente: mentre in una normale pagina html il javascript funziona perfettamente, in una pagina xhtml strict al caricamento della pagina il menù rimane aperto e non rispetta il posizionamento, o meglio, non rispetta solo la distanza dal bordo superiore della pagina...
    Non riesco a capire da cosa dipende, spero che possiate darmi una mano! Posto qui sotto il codice. Grazie a tutti!

    -----------------------------------------------------------
    <script language="JavaScript1.2">

    var slidemenu_width=180
    var slidemenu_reveal=10
    var slidemenu_top=70

    var ns4=document.layers?1:0
    var ie4=document.all&&navigator.userAgent.indexOf("Ope ra")==-1
    var ns6=document.getElementById&&!document.all?1:0

    if (ie4||ns6)
    document.write('<div id="slidemenubar2" style="left:'+((slidemenu_width-slidemenu_reveal)*-1)+'; top:'+slidemenu_top+'; width:'+slidemenu_width+'" onMouseover="pull()" onMouseout="draw()">')
    else if (ns4){
    document.write('<style>\n#slidemenubar{\nwidth:'+s lidemenu_width+';}\n<\/style>\n')
    document.write('<layer id="slidemenubar" left=0 top='+slidemenu_top+' width='+slidemenu_width+' onMouseover="pull()" onMouseout="draw()" visibility=hide>')
    }

    var sitems=new Array()

    sitems[0]=["<div align='center'><font face='Verdana'>Menù</font></div>", ""]
    sitems[1]=["Visita Html.it", "http://www.html.it/"]
    sitems[2]=["Script e tutorial Php", "http://freephp.html.it"]
    sitems[3]=["Articoli Asp", "http://freeasp.html.it"]
    sitems[4]=["Loop per Flash-mx", "http://flash-mx.html.it/"]
    sitems[5]=["Link 5", "#"]
    sitems[6]=["Link 6", "#"]
    sitems[7]=["Link 7", "#"]
    sitems[8]=["Link 8", "#"]

    var target=""

    /////////////////////////////////////////////////////////

    if (ie4||ns4||ns6){
    for (i=0;i<sitems.length;i++){
    if (sitems[i][1])
    document.write('<a href="'+sitems[i][1]+'" target="'+target+'">')
    document.write(sitems[i][0])
    if (sitems[i][1])
    document.write('</a>')
    document.write('
    \n')
    }
    }

    function regenerate(){
    window.location.reload()
    }
    function regenerate2(){
    if (ns4){
    document.slidemenubar.left=((slidemenu_width-slidemenu_reveal)*-1)
    document.slidemenubar.visibility="show"
    setTimeout("window.onresize=regenerate",400)
    }
    }
    window.onload=regenerate2

    rightboundary=0
    leftboundary=(slidemenu_width-slidemenu_reveal)*-1

    if (ie4||ns6){
    document.write('</div>')
    themenu=(ns6)? document.getElementById("slidemenubar2").style : document.all.slidemenubar2.style
    }
    else if (ns4){
    document.write('</layer>')
    themenu=document.layers.slidemenubar
    }

    function pull(){
    if (window.drawit)
    clearInterval(drawit)
    pullit=setInterval("pullengine()",10)
    }
    function draw(){
    clearInterval(pullit)
    drawit=setInterval("drawengine()",10)
    }
    function pullengine(){
    if ((ie4||ns6)&&parseInt(themenu.left)<rightboundary)
    themenu.left=parseInt(themenu.left)+10
    else if(ns4&&themenu.left<rightboundary)
    themenu.left+=10
    else if (window.pullit){
    themenu.left=0
    clearInterval(pullit)
    }
    }

    function drawengine(){
    if ((ie4||ns6)&&parseInt(themenu.left)>leftboundary)
    themenu.left=parseInt(themenu.left)-10
    else if(ns4&&themenu.left>leftboundary)
    themenu.left-=10
    else if (window.drawit){
    themenu.left=leftboundary
    clearInterval(drawit)
    }
    }
    </script>

  2. #2
    Ehi non c'è proprio nessuno che può darmi una mano?
    Please è importante!!!! E poi tutti i menù laterali mi danno lo stesso problema... help me!!!

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Ci sono problemi nell'includere uno script in codesto modo.

    JS non puo` fare parte del codice HTML: devi metterlo in un file separato, oppure includerlo in un tag CDATA
    (vedi ad esempio http://www.w3.org/TR/2000/REC-xhtml1-20000126/#diffs ):
    <script>
    <![CDATA[
    ... unescaped script content ...
    ]]>
    </script>

    Inoltre nel tuo tag <script> manca il tipo di script che vai ad usare:
    <script type="text/javascript">

    Inoltre lo script non puo` contenere alcuni caratteri (pero` questo non lo ho controllato).

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  4. #4
    No, mi sono spiegata male: questo è lo script così com'era su un javascript a settimana, io poi l'ho messo in un file esterno e l'ho richiamato così:
    <script type="text/javascript" src="javascript/latmenu.js"></script>
    quindi dovrebbe essere corretto

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Ho capito.

    Ho controllato ora lo script, ed ho nototo che i vari document.write che ci sono, non generano codice XHTML (ad esempio mancano le slash finali nei tag non chiusi).

    Non so se questo puo` influire.

    Inoltre i caratteri < / > ' e " dovrebbero venir preceduti da backslash se sono inclusi in una stringa (ad esempio nel document.write).

    .......
    Ma scusa, non potresti accontentarti di XHTML Tranzitional?

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  6. #6
    Grazie per l'aiuto, adesso provo a controllare i tag uno ad uno!
    Il fatto è che ho quasi terminato il sito, ed è tutto in xhtml strict, perfettamente validato. Questo script mi serve per un menù secondario che ho dovuto aggiungere all'ultimo momento, e non posso mandare tutto il lavoro all'aria per far funzionare un menù...
    Al limite troverò una soluzione alternativa al menù laterale!
    Grazie mille comunque! Ciao!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.