如何使hasClass()每秒检查一次

时间:2014-09-01 09:17:39

标签: javascript jquery class

我想制作一个滑块(5个imgs),我在图像下面有5个按钮,以及两个方向按钮(上一个和下一个)

单击这5个按钮中的一个时,将激活类(flex-active)。

当第3个按钮(例如)具有类(flex-active)并且单击带有类(flex-next)的按钮时,我想激活一个函数" img4" (将显示img4并从第3个按钮中删除(flex-active)并添加到第4个按钮)。

默认情况下,第一个按钮具有flex-active。它的工作方式仅为1到2和1到5。

问题是hasClass只在开头检查谁有那个类,但如果我手动更改它然后单击下一个按钮,它将工作img2函数,因为第一个按钮有(flex-active)。

这项工作:

 if($("a.1").hasClass("flex-active") ){
     $(".flex-prev").click(img5);
 };     

 if($("a.1").hasClass("flex-active") ){
    $(".flex-next").click(img2);
 }; 

这不是:

 if($("a.2").hasClass("flex-active") ){
    $(".flex-prev").click(img1);
 }; 

1 个答案:

答案 0 :(得分:0)

您可能会做的是为图像指定特定的类名

<li><img class="slider flex-active" src=".../></li>
<li><img class="slider" src=".../></li>
...

并根据您希望的方向动态按下您next()previous按钮

$('button').on('click',function() {
   $('img.slider').hasClass('flex-active').removeClass('flex-active').next().addClass('flex-active');
});