我正在使用这个代码创建一个轻微的视差效果.除IE.I之外,除了IE 9之外,一切都可以正常工作.
<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中工作吗?非常感谢.
编辑:
目的:当用户滚动时,使1 div移动比另一个慢.
逻辑:通过CSS修改div并通过javascript更改其位置
http://jsfiddle.net/MRbWY/11/
IE中的错误.JavaScript does not work.hence的div仍然只是修复
解决方法
document.body.scrollTop总是读为零,有点挖掘出来,this question,你想使用document.documentElement.scrollTop为IE.