javascript - 使用javascript动态控制多个潜水风格的风格,使用类

标签 javascript html css arrays class

我是 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/

相关文章:

html - 将 <div> 连接到中心 <div>

javascript - 我如何使用 Jquery 通过它的属性值显示 DIV

javascript - 在 JavaScript 中,是否可以检测 Android 和 iOS 浏览器中的屏幕何时关闭

html - 响应式网站中的中心表

jquery - 在 jquery 中搜索

javascript - jQuery 设置 `background-size` 不起作用

html - 使用 R Markdown 和 HTML 输出将数学表达式显示为非斜体

javascript - Node 没有返回正确答案

javascript - 修改默认浏览器行为,使图像以最大分辨率加载

Javascript:for 循环 i++ 和 (i+1) 之间的区别