首页 > 解决方案 > 如何正确设置滑块工作的条件?

问题描述

请告诉我如何正确写条件?我需要,如果显示器的屏幕是 768 像素,那么滑块会触发此条件:

document.querySelector('.slider__next').addEventListener('click', function() {
    offset = offset + 304;
    if (offset > 608) {
        offset = 0;
    }
    sliderLine.style.left = -offset + 'px';
});
document.querySelector('.slider__prev').addEventListener('click', function() {
    offset = offset - 304;
    if (offset < 0) {
        offset = 608;
    }
    sliderLine.style.left = -offset + 'px';
});

如果监视器的屏幕为 320 像素,则为滑块触发了此条件:

document.querySelector('.slider__next').addEventListener('click', function() {
    offset = offset + 304;
    if (offset > 912) {
        offset = 0;
    }
    sliderLine.style.left = -offset + 'px';
});
document.querySelector('.slider__prev').addEventListener('click', function() {
    offset = offset - 304;
    if (offset < 0) {
        offset = 912;
    }
    sliderLine.style.left = -offset + 'px';
});

我正在尝试这样做,但由于某种原因,它无法在 320 像素的屏幕上正常工作。该代码在 768 像素屏幕下工作:

if (window.innerWidth == 768) {
    document.querySelector('.slider__next').addEventListener('click', function() {
        offset = offset + 304;
        if (offset > 608) {
            offset = 0;
        }
        sliderLine.style.left = -offset + 'px';
    });
    document.querySelector('.slider__prev').addEventListener('click', function() {
        offset = offset - 304;
        if (offset < 0) {
            offset = 608;
        }
        sliderLine.style.left = -offset + 'px';
    });
} else if (window.innerWidth == 320) {
    document.querySelector('.slider__next').addEventListener('click', function() {
        offset = offset + 304;
        if (offset > 912) {
            offset = 0;
        }
        sliderLine.style.left = -offset + 'px';
    });
    document.querySelector('.slider__prev').addEventListener('click', function() {
        offset = offset - 304;
        if (offset < 0) {
            offset = 912;
        }
        sliderLine.style.left = -offset + 'px';
    });
}

标签: javascripthtml

解决方案


推荐阅读