Heyo,
我有什么方法可以获得这个脚本:
function parallax (){
var paralax_effect = document.getElementById('div1');
paralax_effect.style.top = -(window.pageYOffset / 4)+'px';
}
window.addEventListener('scroll', parallax, false);
运行多个Classes
而不是一个Id
?
我试过了:
function parallax (){
var paralax_effect = document.getElementsByClassName('div1');
paralax_effect.style.top = -(window.pageYOffset / 4)+'px';
}
window.addEventListener('scroll', parallax, false);
但这在某种程度上是行不通的。
提前致谢!
答案 0 :(得分:1)
getElementsByClassName
不返回单个元素,而是返回整个元素列表,而getElementById
(注意单词Element / Elements中的差异)只返回单个元素。
因此,在第二个代码中,您将使用类" div1"存储元素列表。在var paralax_effect
。为了操纵这些元素,您必须使用for
循环它们。例如:
for (var i = 0; i < paralax_effect.length; i++) {
current_element = paralax_effect[i]
current_element.style.top = -(window.pageYOffset / 4)+'px';
}
这要求您的HTML至少包含一个class="div1"
的元素。