如何在幻灯片之间有条件地导航

how to conditionally navigate between slides?

本文关键字:有条件 导航 之间 幻灯片      更新时间:2023-09-26

我正在使用一个基本的定制滑块,它使用jquery可以完美运行。现在,我只想在滑块中使用"下一个"和"上一个"功能一次,第二次当用户单击链接时,它会在页面中的某个位置滚动。我已经制定了一个看起来像这样的代码:

var position = 0;
    $('#control_prev').click(function () {
            if (position > 0) {   ///if user is on second slide allow him back to default slide . (0 is the default slide)
            moveLeft();
            position -= 1;
        }
    else if(position = 0){  /// if user tries to go to previous while on default slide nagivate him to home section. 
            $('.control_prev').attr('href', '#home');
            $('.control_prev').addClass( "secondary url" );
            position -= 1;
        }
        alert(position);
    });
    $('#control_next').click(function () {
        if (position = 0) { // if a user tries to view second slide while on default slide we allow him.
        moveRight();
        position += 1;
        }
        else if(position > 0){ // if a user is on second slide and wants to go next slide we navigate him to a different section.
            $('.control_next').attr('href', '#business-events');
            $('.control_next').addClass( "secondary url" );
            position += 1;
        }
        alert(position);
});

i 正在使用 alert() 来检查位置值,但该值始终为 0。是声明变量的问题,还是您看到逻辑本身存在缺陷?请向我建议解决此问题的方法。提前谢谢。

-干杯-麦克斯

问题在于合并值赋值(使用单等号运算符=完成)和等价比较(使用双等号运算符==完成)。您正在使用 if(position = 0) ,它将始终返回 false。请改用 ==if(position == 0)

p/s:通常建议你使用 console.log() 而不是 alert() ,因为后者会破坏 JS 执行。