Javascript 如何重构我的函数,使其适用于多个div?

Javascript 如何重构我的函数,使其适用于多个div?,javascript,html,refactoring,user-experience,getelementsbyclassname,Javascript,Html,Refactoring,User Experience,Getelementsbyclassname,我希望我的div在屏幕宽度超过20%时移动。有人知道如何重构一个函数“IsElementOverflow()”,它可以为多个div工作(例如3)?我使用“getElementById”和“querySelectorAll”来获取div,但它不适用于我的函数 谢谢你的帮助:) 有些事 什么 有些事 函数IsElementOverflow(元素){ var overflowX=element.offsetWidth

我希望我的div在屏幕宽度超过20%时移动。有人知道如何重构一个函数“IsElementOverflow()”,它可以为多个div工作(例如3)?我使用“getElementById”和“querySelectorAll”来获取div,但它不适用于我的函数

谢谢你的帮助:)


有些事
什么
有些事
函数IsElementOverflow(元素){
var overflowX=element.offsetWidth
我想你可以在每一个上面循环:

函数IsElementOverflow(元素){
var overflowX=element.offsetWidth
something 1
什么

有些东西3
我想你可以在它们上面循环:

函数IsElementOverflow(元素){
var overflowX=element.offsetWidth
something 1
什么

something3
getElementsByClassName
返回具有所有给定类名的所有子元素的类似数组的对象。更多信息。
因此,在函数
isElementOverflow
中,您得到的是一个dom元素,而不是它们的数组。然后,您只需要迭代这些元素

elements.forEach(function(element) {
  if (isElementOverflowing(element)) {
    wrapContentsInMarquee(element);
  }
});

getElementsByClassName
返回具有所有给定类名的所有子元素的类似数组的对象。更多信息。
因此,在函数
isElementOverflow
中,您得到的是一个dom元素,而不是它们的数组。然后,您只需要迭代这些元素

elements.forEach(function(element) {
  if (isElementOverflowing(element)) {
    wrapContentsInMarquee(element);
  }
});