javascript - 每次单击列表时删除 X 项上的隐藏类
问题描述
我有一大堆交易,在页面加载时只有 5 个项目可见。
我有一个按钮,只需删除“隐藏”类即可加载其余部分。但我不想在单击按钮时全部显示它们,而一次只显示 5 个。
我有点不确定我该怎么做。
我当前的脚本
const cashBackTransactionsWrapper = document.querySelector('.cashback--transactions');
if (cashBackTransactionsWrapper !== null) {
const morePostingsButton = document.querySelector('.cash-back--morepostings');
morePostingsButton.addEventListener('click', function (e) {
e.preventDefault();
const cashbackTableRowHidden = cashBackTransactionsWrapper.querySelectorAll('.flex-table.hidden');
for (var i = 0; cashbackTableRowHidden.length > 0; i++) {
cashbackTableRowHidden[i].classList.remove('hidden');
}
});
}
我想要实现的是,当用户单击“morepostings”按钮时,接下来的 5 个项目的隐藏类将被删除。当用户再次单击该按钮时,接下来的 5 个项目将删除该类,依此类推。
如果您愿意,可以使用分页式功能。
解决方案
你有无限的for循环。你应该用 i < 5 替换你的条件。应该有帮助:)
const cashBackTransactionsWrapper = document.querySelector('.cashback--transactions');
if (cashBackTransactionsWrapper !== null) {
const morePostingsButton = document.querySelector('.cash-back--morepostings');
morePostingsButton.addEventListener('click', function (e) {
e.preventDefault();
const cashbackTableRowHidden = cashBackTransactionsWrapper.querySelectorAll('.flex-table.hidden');
for (var i = 0; i < 5; i++) {
cashbackTableRowHidden[i].classList.remove('hidden');
}
});
}
推荐阅读
- javascript - 使用 JSONP 从 Twitter API 检索数据
- android - 如何让 Android ForegroundService 在较新版本的 Android 中无限期运行?
- node.js - 如何在 NodeJS 中创建多个数据库 sequelize 会话
- python - 如何仿射变换一百张图像OpenCV Python
- python - 如何解决 LSTM 问题中的损失:nan & accuracy: 0.0000e+00?张量流 2.x
- php - Vscode 上的断点没有被流明框架击中
- google-apps-script - 修改代码 - 将 onEdit 转换为自定义菜单以运行 - Google Apps 脚本/Google 表格
- android - 当小部件提供者意图过滤器只有更新操作时,为什么会收到其他意图操作(Android)
- unity3d - 在 Unity 的背景层上运行大规模克隆的最佳方法是什么?
- android - 具有固定高度视图和其他填充空间的 Android 约束布局链