如何更快或同时为DOM元素数组批量应用类名?
高效实现DOM元素类名动态切换的实践方案
我目前在处理一组约5个DOM元素的交互逻辑,首先把容器内的子元素转换成数组:
this.children = Array.from(wrapper.children);
当指定事件触发时,我会遍历这个数组,根据元素索引和当前标记值s,精准给不同元素切换对应的类名:
this.children.forEach((child, i) => { let classes = child.classList; classes.toggle('flic-before', i < s+1); classes.toggle('flic-active', i === s); classes.toggle('flic-previous', i === s-1); classes.toggle('flic-next', i === s+1); });
关于兼容性与流畅性的说明
虽然一次性对多个元素执行类名操作,但因为JavaScript的执行速度足够快,再加上元素数量只有5个左右,完全不会出现视觉卡顿或者类名切换不同步的问题,目前这段代码在所有主流浏览器中都能稳定运行。
内容的提问来源于stack exchange,提问作者Himmators
相关产品推荐
相关产品推荐

