Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di klauzz
    Registrato dal
    Jul 2001
    Messaggi
    303

    problema con menu flottante

    ciao a tutti,
    raga, ho un prob con un menù flottante,
    tipo quello di poste.it,
    ho trovato il code nelle pagine di html.
    il codice, montato su una normale pagina html funzia alla perfezione, mentre se lo monto in una pagina a frame, costituita da
    top e bottom(dove metto il mio code) si verifica un fatto strano,
    in particolare, draggando verso il basso la scrollbar, la pagina html del bottom frame termina, ma la pagina continua a scendere e si visualizza una zona grigia a dir poco infinita...
    Qualcuno mi può aiutare a trovare una soluzione?
    Vi posto il code, da provare su una pagina a frame

    fatemi sapere,
    grazie
    KLauzz

    <HTML>
    <HEAD>

    <style type="text/css">
    A:link, A:visited { text-decoration: none }
    A:hover { text-decoration: underline }
    </style>

    <TITLE>floating_menu</TITLE>

    <script language=javaScript>
    function setVariables(){
    if (navigator.appName == "Netscape") {
    v=".top=";h=".left=";dS="document.";sD="";
    y="window.pageYOffset";x="window.pageXOffset";}
    else {h=".pixelLeft=";v=".pixelTop=";dS="";sD=".style" ;
    y="document.body.scrollTop";x="document.body.scrol lLeft";}checkLocationA()}
    movex=0,movey=0,xdiff=0,ydiff=0,ystart=0,xstart=0
    function checkLocation(){
    object="object1";yy=eval(y);xx=eval(x);ydiff=ystar t-yy;xdiff=xstart-xx;
    if ((ydiff<(-1))||(ydiff>(1))) movey=Math.round(ydiff/10),ystart-=movey
    if ((xdiff<(-1))||(xdiff>(1))) movex=Math.round(xdiff/10),xstart-=movex
    eval(dS+object+sD+v+ystart);eval(dS+object+sD+h+xs tart);
    setTimeout("checkLocation()",10)}
    function checkLocationA(){ystart=eval(y);xstart=eval(x);}
    </script>

    </HEAD>

    <BODY BGCOLOR="#c0c0c0" vlink="blue" link="blue" onload="setVariables();checkLocation()" topmargin="0" leftmargin="0">

    <div id="object1" style="position:absolute; visibility:show; left:0px; top:20px; height:10px; font-family:arial; font-size:14px">


    <table cellpadding="0" cellspacing="0" border="1" width="150" bgcolor="#cccccc" bordercolor="#000000">
    <tr>
    <td>

    menu 1


    menu 2


    menu 3


    menu 4


    menu 5


    menu 6


    menu 7


    menu 9


    menu 9



    </td>
    </tr>
    </table>
    </div>

    </BODY>
    </HTML>

  2. #2
    Utente di HTML.it L'avatar di klauzz
    Registrato dal
    Jul 2001
    Messaggi
    303
    raga, errata corrige...
    in realtà è presente un terzo frame...

    i frame sono così costituiti:

    un top
    un mainframe dove monto il code del menu
    un bottom frame che è solo una fascia

    grazie
    e scusatemi per l'imprecisione.

    KLauzz

  3. #3
    Il problema probabilmnte risiede in queste righe:

    if (navigator.appName == "Netscape") {
    v=".top=";h=".left=";dS="document.";sD="";
    y="window.pageYOffset";x="window.pageXOffset";}
    else {h=".pixelLeft=";v=".pixelTop=";dS="";sD=".style" ;
    y="document.body.scrollTop";x="document.body.scrol lLeft";}checkLocationA()}

    che fanno diretto riferimento alla window (che non va più bene se tu hai dei frame) o al document.body che non credo sia standard.

    Forse la cosa migliore è che tu vada alla ricerca di una versione più cross browser dello script che usi, visto che così come è scritto è anche difficile modificarlo perchè funzioni bene.

    Cercane uno che usi la document.getElementById() che sicuramente è più crossbrowser.

    Ciao!
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

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.