如何使这个If语句运行一次直到它回来(在幻灯片更改之前条件一直为真)

时间:2018-02-21 10:54:32

标签: javascript jquery slider flickity

我已经通过Jquery创建了一个Flickity滑块,需要一些帮助。 我使用selectedIndex作为条件来检查哪个滑块是可见的。请参阅以下代码:

    $carousel.on( 'select.flickity', function() {
    if (flkty.selectedIndex === 0) {
        hideAllText();
        text0.fadeIn('slow');
    }
});

这就是说,当滑块0(初始幻灯片)在var text0中淡出时。 我想为6个滑块做这个,但由于幻灯片没有改变,直到4秒为止,if语句一直在运行,所以它一直隐藏并显示文本。

任何想法如何让我一次性运行,直到幻灯片再次出现。

谢谢:)

1 个答案:

答案 0 :(得分:0)

这应导致相关代码仅执行一次:

text0Shown = false;

$carousel.on('select.flickity', function() {
  if (!text0Shown && flkty.selectedIndex === 0) {
    text0Shown = true;
    hideAllText();
    text0.fadeIn('slow');
  }
});