我的网站上运行了一些代码,它将检测div
带有 id的 aphoto
是否显示在屏幕上或滚动到屏幕上。如果div
正在显示,则将 aclass
添加到 中,div
这将导致背景图像加载到div
. 目的是延迟加载图像,以便网站加载更快。
它在除 IE 6/7 之外的所有浏览器中都运行良好。有人能告诉我下面的代码有什么问题阻止它在这些 IE 浏览器中工作吗?
function $(a){
return document.getElementById(a)
}
function scrll(){
function a(d){
var f=d.offsetTop,
e=d.offsetLeft,
c=d.offsetWidth,
b=d.offsetHeight;
while(d.offsetParent){
d=d.offsetParent;
f+=d.offsetTop;
e+=d.offsetLeft
}
return(f<(window.pageYOffset+window.innerHeight)
&&e<(window.pageXOffset+window.innerWidth)
&&(f+b)>window.pageYOffset&&(e+c)>window.pageXOffset)
}
if(a($("photo"))){
$("imgholder").className="pic11 pic21";
if(window.removeEventListener){
window.removeEventListener("scroll",scrll,false)
}else{
if(window.detachEvent){
window.detachEvent("onscroll",scrll)
}else{
window.onscroll=null
}
}
}
}
if(window.addEventListener){
window.addEventListener("scroll",scrll,false);
}else{
if(window.attachEvent){
window.attachEvent("onscroll",scrll);
}else{
window.onscroll=scrll;
}
}
setTimeout(scrll,1);
该代码在我的网站上有效:http ://www.ericperrets.info/