Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    1,611

    floating menu con specifica doctype

    ciao a tutti...

    ho provato diversi menu floating, i menu che 'seguono' lo scroll dell'utente, però ho notato che funzionano solo se non è specificato il doctype...

    io personalmente uso questo..

    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    è normale? esiste un menu floating che mi permetta di specificare il doctype?

    grazie anticipatamente
    NON ABBANDONATE CANI O GATTI!!!

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    in presenza di doctype le modifiche da apportare sono minime
    lascia il link al floating menu che vorresti utilizzare

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    1,611
    ti ringrazio molto per la disponibilità

    con doctype e poi...

    senza doctype


    spero si posso risolvere

    grazie ancora

    NON ABBANDONATE CANI O GATTI!!!

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    il minimo indispensabile per farlo andare con IE in presenza di doctype e' cambiare document.body in document.documentElement

    comunque e' uno script molto datato,
    se ho un po' di tempo ti posto come si potrebbe migliorare un po'
    ciao

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    1,611
    si in effetti è molto vecchio, avrà minimo 4 anni ...

    se tu riuscissi a migliorarlo te ne sarei molto grato

    avevo trovato anche questo

    però presenta lo stesso problema del doctype...

    che poi.... perchè il doctype da questo problema? :master:
    NON ABBANDONATE CANI O GATTI!!!

  6. #6
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    codice:
    var oldY=0;
    
    function getY(){
    	return window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop;
    }
    
    function adjustY(){
    	var el=document.getElementById('menutendina');
    	var y=getY();
    	var newY=oldY+Math.round((y-oldY)/10);
    	el.style.top=newY+"px";
    	oldY=newY;
    	setTimeout("adjustY()",50);
    }
    window.onload=adjustY;
    questo basta e mi risulta funzionare su tutti i browser moderni, indipendentemente dal doctype

    se nel documento hai altre funzioni richiamate onload (window.onload=funzione o <body onload="funzione()">) rimuovi gli altri gestori evento e includili tutti in un unico gestore, sostituendo window.onload=adjustY; con window.onload=function(){funzione();adjustY();}

    le differenze in presenza di doctype sono particolarmente sentite con IE (firefox e simili vogliono solo che le misure css settate via js siano stringhe e l' unita' di misura venga esplicitata, +"px") che riassegna proprieta' del body a documentElement,
    puoi approfondire qui
    http://www.quirksmode.org/viewport/compatibility.html
    ciao

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    1,611
    ho integrato il codice ma sembra non funzionare ...

    qui

    sbaglio qualcosa?

    grazie ancora
    NON ABBANDONATE CANI O GATTI!!!

  8. #8
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    tutto il javascript che avevi prima puoi eliminarlo,
    basta quello che ti ho postato

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    1,611
    perfetto...

    lo provato in locale e va una meraviglia...

    ti chiedo solo un'ultima cosa... sperando non sia complessa

    il vecchio script aveva questa riga di codice...

    codice:
    y="document.body.scrollTop-140"; //distanza dal top prima di scrollare
    era comoda perchè non faceva scrollare il div appena si iniziava a scrollare dal mouse, ma solo quando il bordo superiore della pagina lo 'toccava'

    spero sia stato chiaro...

    se è una modifica che richiede molto tempo, fa niente... hai già fatto tanto

    grazie ancora

    P.S.: ho provato ad fare questo...

    codice:
    return window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop-300;
    ma il comportamento non è il massimo
    NON ABBANDONATE CANI O GATTI!!!

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    1,611
    up
    NON ABBANDONATE CANI O GATTI!!!

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.