2013-03-05 14 views
10

Sto creando un leggero effetto di parallasse minore con questo code.Everything funziona bene ovunque, tranne IE.I sto usando IE 9.JavaScript semplice non funziona in qualsiasi IE?

Jsfiddle-javascript

Jsfiddle-jquery

<div id="head"> i </div> 
<div id="subHead"> can </div> 
<div id="content"> haz </div> 

Javascript

window.onscroll = function(ev){ 
    var subHead = document.getElementById('subHead'), 
     topHeight = document.getElementById('head').offsetHeight; 

    subHead.style.top = (topHeight - document.body.scrollTop/4) + 'px'; 
};  

CSS

#head, #subHead{ 
    position: fixed;   
    height: 80px;  
    width: 100%; 
    display: block; 
    background: #c00; 
    left: 0; 
    top: 0; 
    z-index: 10; 
} 

#subHead{ 
    z-index: 4; 
    background: #cd0; 
    top: 80px; 
} 

#content{ 
    position: relative; 
    z-index: 6; 
    height: 1000px; 
    background: #eee; 
    margin-top: 160px; 
} 

ho provato su google alcuni trucchi per browser, ma invano ... C'è un modo per farlo funzionare in IE? Grazie mille.

Edit:

Scopo: fare un 1 div muoversi più lentamente rispetto ad un altro, quando un utente scorre.

Logic: rendere il div fisso tramite CSS e cambiare il suo postion tramite JavaScript http://jsfiddle.net/MRbWY/11/

Errore in IE.The javascript doesnt work.hence div rimane fissata solo

+3

Quali errori si ottengono nella console di sviluppo di IE? –

+1

Che cosa esattamente non funziona? –

+0

in IE, la parola "può" è corretta ...... che non dovrebbe essere coz di javascript. – Michel

risposta

3

document.body.scrollTop era sempre leggendo zero, viene visualizzato un po 'di scavo this question, si desidera utilizzare document.documentElement.scrollTop per IE.

updated your fiddle

+0

Grazie mille !!! – Michel