Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    272

    Cercasi un sostituto di document.documentElement.scrollTop per FF

    Tempo fa ho letto un tutorial su questo sito che spiegava come ottenere per le proprie pagine un floating menu (come questo) che scrollando la pagina ricalcola la propria posizione di conseguenza.

    Dopo avere appreso le basi di JS sto cercando di personalizzarmi lo script, quello del tutorial mi sembra un po' datato e dichiarando un documento XHTML con un DOCTYPE apposito non funziona nemmeno a pregarlo .

    Intanto vi posto il mio codice (che funziona solo in IE e Opera) così lo potete provare e lavorarci direttamente:

    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    
    <head>
    <title>MyFloatingMenu</title>
    <script type="text/javascript">
    <!--
    var ie = document.all;
    var intervalId;
    var speed = 10;
    
    function setTop ()  {
      document.getElementById("divProva").style.top = (ie)?document.documentElement.scrollTop :window.scrollY;
    }
    
    function getPosition () {
      intervalId = setInterval ("setTop ()", speed);
    }
    
    function stopFloat ()  {
      clearInterval (intervalId);
    }
    
    onload = getPosition ();
    // -->
    </script>
    </head>
    
    <body>
    <div style="height: 800px;">
    <div id="divProva" style="position: absolute; top: 0px; left: 0px;">Paragrafo</div>
    <p style="margin-top: 50px;"><input type="button" onclick="stopFloat()" value="Stop" /></p>
    </div>
    </body>
    
    </html>
    Il problema, come da titolo, è solo uno: non riesco a trovare l'equivalente FF per la proprietà document.documentElement.scrollTop!
    Questo, badate bene, nonostante il mio libro (credo uno dei più autorevoli) consigli esplicitamente l'uso di window.scrollY in questi casi .
    Confido in voi

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    272
    Non ci posso credere ho risolto...basta scrivere così

    codice:
    document.getElementById("divProva").style.top = (ie)?document.documentElement.scrollTop+"px" :window.pageYOffset+"px";
    Comunque qualunque commento al codice postato è più che gradito data la mia quasi totale inesperienza in JS

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.