javascript - 我如何将所有这些代码存储在变量中
问题描述
我怎样才能将所有这些代码保存在一个变量中?我想在另一个地方调用这个代码。我想在这个幻灯片菜单上添加一个点击事件。如果我在另一个点击事件函数中编写所有这些代码,这很容易。但我不想那样做,我想通过使用变量在点击事件中调用所有这些代码
function change() {
if (document.getElementsByClassName("sliderItems")[0].classList.contains("active")) {
document.getElementsByClassName("sliderItems")[1].classList.add("active");
document.getElementsByClassName("sliderItems")[0].classList.remove("active");
} else if (document.getElementsByClassName("sliderItems")[1].classList.contains("active")) {
document.getElementsByClassName("sliderItems")[2].classList.add("active");
document.getElementsByClassName("sliderItems")[1].classList.remove("active");
} else if (document.getElementsByClassName("sliderItems")[2].classList.contains("active")) {
document.getElementsByClassName("sliderItems")[3].classList.add("active");
document.getElementsByClassName("sliderItems")[2].classList.remove("active");
} else if (document.getElementsByClassName("sliderItems")[3].classList.contains("active")) {
document.getElementsByClassName("sliderItems")[4].classList.add("active");
document.getElementsByClassName("sliderItems")[3].classList.remove("active");
} else if (document.getElementsByClassName("sliderItems")[4].classList.contains("active")) {
document.getElementsByClassName("sliderItems")[1].classList.add("active");
document.getElementsByClassName("sliderItems")[4].classList.remove("active");
}
}
setInterval(change, 2000);
解决方案
我不确定你的代码是什么意思,我认为你的意思是滑块项数组,如果这是你的意思很容易。
var sliderItems = document.getElementsByClassName('sliderItems');
sliderItems[0].classList.add('active');
使用变量存储 DOM 元素的最大优势是比每次使用它都搜索元素时性能更好。
推荐阅读
- reactjs - 如何在混合场景中使用 ReactJS
- java - 重构闭包条件以修复列表中的最大表达式数为 1000
- c++ - C++ 编程:作业的输出略微关闭
- scala - 使用reduceByKey时在scala中类型不匹配
- javascript - csv格式问题javascript p5
- scikit-learn - CountVectorizer 上的词形还原不会删除停用词
- azure - Xamarin.Forms 绑定 - 相同的属性值绑定到 ListView 中的每个项目
- python - Python 中的 Aws IOT 作业
- javascript - JSON.stringify:如何跳过一个(或多个)对象的缩进
- javascript - 从 JSF 复合组件提供动态资源