简单的JavaScript在任何IE浏览器上都无法工作?

11

我正在使用这段代码创建一个轻微的视差效果。在其他所有地方都能正常工作,唯独在IE浏览器上出现问题。我正在使用IE 9。

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

我试图在谷歌上搜索一些跨浏览器的技巧,但是没有成功...有没有办法让它在IE中工作?非常感谢。
编辑:
目的:使一个div在用户滚动时移动得比另一个慢。
逻辑:通过CSS将div固定,并通过JavaScript更改其位置。 http://jsfiddle.net/MRbWY/11/ 在IE中出现错误。JavaScript不起作用,因此div仅保持固定状态。

3
你在IE的开发者控制台中遇到了哪些错误? - the system
1
什么确切地说是不起作用的? - Matt Whitehead
请在您的帖子中清晰地解释问题。 - Mr_Green
1
“最新版本”是含糊不清的。它在Win8上是IE10,在Win7上是IE9。 - Zeta
2
@Zeta - 实际上,IE10现在已经适用于Win7。然而,大多数人在短期内仍将使用IE9。 - SDC
显示剩余9条评论
1个回答

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接