javascript - 根据条件重置计数器变量

标签 javascript

我有这个简单的“分页”计数器,它从 API 获取下一页。它工作正常,但问题是每当我更改类别(电影或系列)时,计数器显然不会重置,因此它不会获取新类别的第一页,而是从它停止的数字继续。

我尝试了很多条件组合,但到目前为止没有任何效果。我确定解决起来并不难,我只是想不出要使用的正确逻辑。

let page = 1; 
document.getElementById('load-more').addEventListener('click', () => {
    page++;

    const movies = document.getElementById('movies');
    const series = document.getElementById('series');


    if(movies.classList.contains('active-link')) {

        getMovies(page);


    } else if (series.classList.contains('active-link')) {

        getSeries(page);

    }
})

重置 if..else 中的 let 计数器实际上不起作用,因为每次我单击“加载更多”按钮时,它都会将其重置回第 1 页。

最佳答案

为当前电影页面和当前系列页面使用单独的变量。另请注意,您可以通过使用单个 querySelector 而不是选择后跟 classList.contains 来简化您的逻辑:

let moviesPage = 1;
let seriesPage = 1;
document.getElementById('load-more').addEventListener('click', () => {
  if (document.querySelector('#movies.active-link')) {
    moviesPage++;
    getMovies(moviesPage);
  } else if (document.querySelector('#series.active-link')) {
    seriesPage++;
    getSeries(seriesPage);
  }
});

关于javascript - 根据条件重置计数器变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49937527/

相关文章:

javascript - 所有 div 都不会触发悬停事件

php - 如何防止用户从网站复制内容

javascript - 不同对象的getAttribute是一样的

javascript - knockout : Asynchronous call in model binding

java - java中的 "integer"相当于javascript中的什么?

javascript - 使用javascript去除图像边框

php - 计算选择框值

javascript - 使用 jQuery 验证插件 : onfocusout, onkeyup 在生产站点上无法按预期工作

javascript - 设计在 jQuery UI 对话框中弹出的 JS 警报的样式

javascript - 你能解决吗?使用数组的 JavaScript 轮播实现