2013-03-05 23 views
10

tôi đang tạo ra một hiệu ứng thị sai nhỏ nhẹ với code.Everything này hoạt động tốt ở khắp mọi nơi, ngoại trừ IE.I đang sử dụng trình duyệt IE 9.javascript đơn giản không hoạt động trong bất kỳ trình duyệt IE nào?

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; 
} 

tôi đã thử tìm kiếm một số thủ thuật trình duyệt chéo, nhưng vô ích ... Có cách nào để làm cho nó hoạt động trong IE không? Cảm ơn rất nhiều.

Edit:

Mục đích: Để thực hiện một 1 div di chuyển chậm hơn so với người khác khi người dùng cuộn.

Logic: làm cho div cố định qua css và thay đổi postion của nó thông qua javascript http://jsfiddle.net/MRbWY/11/

Lỗi trong IE.The javascript doesnt work.hence div vẫn chỉ cố định

+3

Lỗi nào bạn gặp phải trong bảng điều khiển dành cho nhà phát triển của IE? –

+1

Chính xác thì không hoạt động? –

+0

trong IE, từ "có thể" được cố định ...... mà nó không nên là coz của javascript. – Michel

Trả lời

3

document.body.scrollTop luôn đọc số không, một chút đào lần lượt lên this question, bạn muốn sử dụng document.documentElement.scrollTop cho IE.

updated your fiddle

+0

Cảm ơn một tấn !!! – Michel

Các vấn đề liên quan