使用javascript改变多个对象的样式
Changing style of multiple objects using javascript
我正在使用WordPress创建一个网站,因此内容是动态创建的。元素ID也是动态生成的
每个容器可以有以下元素(一个容器可以有多个,但不相同):
t_1
f
₂
f_3
我还在元素ID的末尾添加了容器计数,所以每个元素都有一个唯一的ID
假设PHP将生成如下HTML:
<div id="container_1">
<div id=f_1_1>
//content
</div>
<div id=f_2_1>
//content
</div>
</div>
<div id="container_2">
<div id=t_1_2>
//content
</div>
</div>
<div id="container_3">
<div id=f_1_3>
//content
</div>
</div>
我想动画这些元素的位置作为用户滚动,我添加了javascript来做到这一点:
var scroll = window.pageYOffset;
window.addEventListener('scroll', function() {
scroll = window.pageYOffset;
requestAnimationFrame(scroll)
}, false)
function scroll() {
document.getElementById("f_1_1").style.top = scroll * 10 + 'px';
}
问题来了,我不知道应该通过ID获取哪些元素。
我想做一个循环,我检查每个容器里面的元素,但是我认为它会使用太多的资源,并且会延迟,因为每次用户滚动时函数都会运行。
我尝试的另一个解决方案是动态地将javascript添加到每个容器中,这样我就确切地知道我需要动画的元素。它只适用于第一个容器,因为当我添加下一个容器时,有多个函数使用相同的名称,只有最后一个函数被执行
<div id="container_1">
<div id=f_1_1>
//content
</div>
<script type="text/javascript">
function scroll() {
document.getElementById("f_1_"+<?php echo $pagecounter?>).style.top = scroll * 10 + 'px';
}
</script>
</div>
当元素进入viewport时,可以使用- WOW.js来制作动画
<div id="container_1">
<div id=f_1_1 class="wow myCustomAnimation">
//content
</div>
<div id=f_2_1 class="wow myCustomAnimation">
//content
</div>
</div>
<div id="container_2">
<div id=t_1_2 class="wow myCustomAnimation">
//content
</div>
</div>
<div id="container_3">
<div id=f_1_3 class="wow myCustomAnimation">
//content
</div>
</div>
您必须根据您的要求填写myCustomAnimation
相关文章:
- 如何提供在javascript中编写对对象的重复访问以设置元素样式的简写
- 使用XPath样式访问Javascript JSON对象属性
- Microsoft JScript运行时错误:无法获取属性'的值;样式':对象为null或未定义
- 动态添加的对象赢得't在javascript中拾取样式
- 设置对象中元素的样式
- 使用CSS将鼠标悬停在子对象上时,删除父对象上的悬停样式
- 使用Javascript对象为具有两个背景图像的DIV设置样式时出现问题
- 在循环遍历对象 HTMLDivElement 时,应用 ChileNode 样式 zindex 在 firefox 和
- IE错误:无法设置属性'的值;样式':对象为null或未定义
- 对象文字数据表中的 Google 可视化样式角色
- 在没有交互的情况下更改对象的样式
- 在非对象中为 null(评估项文本.样式)
- 为什么图像样式不透明度不会更改画布中的图像对象
- 样式未应用于对象
- 反应谷歌地图节点模块映射样式加载空对象,而不是JSON
- 织物 js 粗斜体不起作用,因为 JSON 中的字体样式对象
- 遵循页面对象样式指南时未找到元素
- ReactJs - 不可变地组合多个样式对象
- 对象样式特性值的数据类型
- 集合/实例对象样式为没有proto的vie javascript