Visualizzazione dei risultati da 1 a 4 su 4

Discussione: floating div

  1. #1

    floating div

    Ciao a tutti.
    Ho trovato in giro per la rete uno script per far "fluttuare" un div all'interno della pagina, in modo che scrollando verso il basso, il div resti sempre nella stessa posizione, ma non immobile, bensì spostandosi in modo elegante.
    Ora, il problema è che se metto un qualsiasi doctype alla pagina web, lo script non funziona.
    Come potrei risolvere? La pagina è questa: www.localando.it/test.html

    NB: Naturalmente non posso fare a meno di inserire il doctype, perchè insorgono tutta una serie di altri problemi a livello di css.

    Grazie.

  2. #2
    Ciao, dopo avr aggiunto la doctype
    prova a racchiudere il codice javascript con
    <![CDATA[
    function xxx{ ..... }
    ]]>

    Ciao
    Mirko Agrati
    WEB : http://mirkoagrati.110mb.com
    RSS : http://feeds.feedburner.com/MirkoAgratiArticoli

  3. #3
    Ho provato, ma niente da fare http://www.localando.it/test.html

    Ho provato ad usare anche questo codice che ho trovato qui nel forum, ma ugualmente non funziona!
    codice:
    var oldY=0;
    
    function getY(){
    	return window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop;
    }
    
    function adjustY(){
    	var el=document.getElementById('floatlayer');
    	var y=getY();
    	var newY=oldY+Math.round((y-oldY)/10);
    	el.style.top=newY+"px";
    	oldY=newY;
    	setTimeout("adjustY()",50);
    }
    window.onload=adjustY();

  4. #4
    Allora, ho fatto un passo avanti...
    Ho scoperto che il problema risiede in questo punto:
    codice:
    else if(ie4) {
    pageWidth = document.body.clientWidth;
    pageHeight = document.body.clientHeight;
    layerSetup();
    floatObject();
       }
    Infatti, aggiungendo +353 alla prima riga (pageWidth = document.body.clientWidth+353, il div si posiziona nel punto giusto su ie7, e resta giusto anche su safari e firefox.
    Però si pone il problema con opera, che lo sposta di 353 pixel verso destra.
    Ora, non vorrei sbagliare dicendo che forse è proprio il document.body.clientWidth che non legge il valore giusto... Come potrei modificarlo?

    Inoltre opera in quale variabile rientra?
    var ns6 = (!document.all && document.getElementById);
    var ie4 = (document.all);
    var ns4 = (document.layers);

    Grazie, scusate ma non so proprio nulla di javascript!!

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 © 2024 vBulletin Solutions, Inc. All rights reserved.