| Oggetto |
Metodo scrollTo in presenza di elementi fixed su Internet Explorer |
| Da |
dag |
| Data |
Wed, 2 Apr 2008 07:16:45 -0700 (PDT) |
| Newsgroups |
it.comp.lang.javascript |
Ciao a tutti.
Ho un problema con una libreria per la gestione del cosiddetto "Scroll
Morbido"; si tratta di una funzione che permette di eseguire lo scroll
automatico della pagina, utilizzando le anchor in essa contenute.
La libreria funziona egregiamente ed è molto leggera, ma ha un piccolo
problema: nel caso di layout con elementi position:fixed dà problemi
su Internet Explorer; in realtà il problema è dovuto all'errata
gestione di elementi con position:fixed su tale browser.
Per ovviare a tale errore, uso degli "hack":
Nel file CSS:
body {
height: 100%;
overflow-y: auto;
}
Nel file HTML:
<!--[if IE 6]>
<style type="text/css">
/*<![CDATA[*/
html {overflow-x:auto; overflow-y:hidden;}
/*]]>*/
</style>
<![endif]-->
In realtà per far funzionale la libreria è sufficiente elinare la riga
"overflow-y: auto;" dal CSS, ma facendo ciò smette di essere gestito
il layout con elementi position:fixed.
Ho fatto tutti i test possibili ed alla fine ho isolato il frammento
di codice che va in errore in presenza dell'hijack; è il seguente:
window.scrollTo(0,wascypos + scramount).
Partendo da questa "scoperta" ho fatto un po' di test da cui è
risultato che il metodo scrollTo() non può essere usato
contemporaneamente al "css overflow-y: auto;".
Le soluzioni sono 2.
1. sostituire il metodo per lo scroll
2. sostituire l'hijack per la gestione di "position:fixed"
Qualcuno sa aiutarmi ?
|
|
|
|