我是 JavaScript
的新手。并遭受问题...
我的结构是这样的......
<div id=container>
<div class="contdiv" data-rate="1.00" id= "l1"></div>
<div class="contdiv" data-rate="4.00"></div>
<div class="contdiv" data-rate="8.00"></div>
</div>
“contdiv”的数量不固定,可以添加删除...所以我必须动态获取这些...“data-rate”值对每个值都是可变的,我也想用 JavaScript 访问它。 . 我想用 javascript 动态地选择所有带有 contdiv 类的 div...我可以用 java 脚本来做到这一点。
var totalel = document.getElementsByClassName("layer");
我想做的是......我想访问每个 div 的顶部位置并向每个顶部位置添加“数据速率”值......每次移动鼠标时都应该调用这个函数......
<script>
function myfunction(event) {
var box1 = document.getElementById("l1");
var obx = box1.offsetTop;
var newxpos = obx + (here i want "data-rate" value) ;
var nxpos = newxpos + 'px';
document.getElementById("l1").style.top = nxpos;
}
document.onmousemove = myfunction;
</script>
现在我已经为 div 分配了 id...但我不想要 ID...它应该将所有 div 存储在变量中并且应该在语法上向其顶部样式添加速率...并且每次我移动我的时候都应该发生这种情况鼠标...或按任意键...(按键是可选的)
我知道这是很多工作...但是任何帮助我都会非常感谢他们...
最佳答案
由于 getElementsByClassName()
返回一个元素数组,您可以使用 for 循环遍历它们。可以使用 getAttribute()
function myfunction(event) {
var boxes = document.getElementsByClassName("contdiv");
for(var i = 0; i < boxes.length; i++) {
var obx = boxes[i].offsetTop;
var newxpos = obx + boxes[i].getAttribute("data-rate") ;
boxes[i].style.top = newxpos + 'px';
}
}
关于javascript - 使用javascript动态控制多个潜水风格的风格,使用类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28810668/