onscroll只触发一次

时间:2014-10-21 04:36:41

标签: javascript internet-explorer firefox onscroll

我有一个javascript文件,用于将单个绝对div对齐,始终与水平滚动位置内联。

我无法弄清楚什么与我的代码不兼容 - onscroll似乎只触发一次,然后再也不会在Internet Explorer和firefox中再次发射。

有人有什么想法吗?我一直在寻找这个,我无法弄清楚错误。 (我已经尝试过onscroll + =和onscroll =,都没有工作)。这个39偏移只是为了确保脚本被触发,直到我开始工作。

window.onload=scrollSet;

function scrollSet(){
	window.onscroll += KeepLeftAtScroll();
}


function KeepLeftAtScroll(){
	var ele=document.getElementById("topAboveMenuMargin");
	if (ele != null){
		ele.style.left = 39+ document.documentElement.scrollLeft;
	}
		
}

1 个答案:

答案 0 :(得分:0)

修正了问题。显然javascript不喜欢分隔分配和声明,如



window.onscroll = function KeepLeftAtScroll(){
	var ele=document.getElementById("topAboveMenuMargin");
	if (ele != null)
	{
		ele.style.left = window.pageXOffset;
	}
}




工作并做我想要的。它似乎并不喜欢" window.onscroll = KLAS()"但是" window.onscroll = function KLAS(){}"是好的。我最初做了onload部分,因为我最初没有检查我元素上的null,并且这样做是为了解决这个问题。

无论哪种方式,似乎都解决了。感谢所有人的帮助。