0

我有一个 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;
	}
		
}

4

1 回答 1

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 并且这样做是为了解决这个问题。

无论哪种方式,它似乎都解决了。感谢大家的帮助。

于 2014-10-21T07:14:32.720 回答