【发布时间】:2016-03-08 15:52:48
【问题描述】:
<script type="text/javascript">
var ypos,sH,sH6,sIMG,sH4,sP;
function trigger(){
ypos=window.pageYOffset;
/*..............................................Second page...*/
sH=document.querySelector("#second h2");
sH6=document.querySelector("#second h6");
sIMG=document.querySelectorAll("#second img");
sH4=document.querySelectorAll("#second h4");
sP=document.querySelectorAll("#second p");
/*.....................................Second page trigger...*/
console.log(ypos);
sH.style.opacity=0;
if(ypos>120){
sH.style.opacity=1;
sH.style.transition="3s";
};
sH6.style.opacity=0;
if(ypos>200){
sH6.style.opacity=1;
sH6.style.transition="3s";
};
sIMG.style.opacity=0;
if(ypos>320){
sIMG.style.opacity=1;
sIMG.style.transition="3s";
};
sH4.style.opacity=0;
if(ypos>400){
sH4.style.opacity=1;
sH4.style.transition="3s";
};
sP.style.opacity=0;
if(ypos>480){
sP.style.opacity=1;
sP.style.transition="3s";
};
};
window.addEventListener("scroll",trigger);
</script>
当我尝试修改“样式”时出现错误
未捕获的类型错误:无法设置未定义的属性“不透明度”
我发现这是节点列表,我试图添加 [0] 因为它是第一个元素,但没有运气。如何定义一个对象?
我通常使用 ID,但现在我有很多元素要制作动画。
我是 javascript 新手,我不知道如何使用 jQuery
【问题讨论】:
-
当你使用
querySelectorAll时,它总是返回节点列表或者说HTML集合。使用循环将样式应用于所有选定的元素,或使用index([0]/[1]/....) 将样式应用于特定元素。 -
@isvforall 的回答很好。我不知道他为什么删除它。
-
@MarcosPérezGude 因为我发现那是节点列表:OP
标签: javascript css selectors-api