jQuery触摸滑动对li项目的影响

时间:2012-12-08 18:15:26

标签: javascript jquery

我想使用jQuery触摸功能点击每个li项目。这是我的HTML

<div class="slider-active" id="active_885">
<label for="slide1-885"></label>
<label for="slide2-885"></label>
<label for="slide3-885"></label>        
</div>

这是我的剧本

jQuery("#slides_885").swipe({
  swipeRight:function(event, direction, distance, duration, fingerCount) {
  jQuery("#active_885 label:first").click();
  },
  swipeLeft:function(event, direction, distance, duration, fingerCount) {
  jQuery("#active_885 label:last").click();
  }
});

凭借我对javascript的一点知识,我可以使上面的脚本在向右滑动时单击第一个标签,然后在向左滑动时单击最后一个标签。但我想要的是让脚本点击标签(在我上面的html中显示)按顺序逐个向下,每次向右滑动向上,向左滑动。

希望我能解释一下这一点。 任何帮助??

1 个答案:

答案 0 :(得分:2)

您可以创建<label>项的数组,并根据滑动进行迭代。

这样的事情:

HTML:

<div class="slider-active" id="active_885">
    <label class="swipeLabel" for="slide1-885"></label>
    <label class="swipeLabel" for="slide2-885"></label>
    <label class="swipeLabel" for="slide3-885"></label>        
</div>

JavaScript的:

var active885Labels = jQuery('label.swipeLabel'),
    current885Label = -1;

jQuery("#slides_885").swipe({
    swipeRight: function(event, direction, distance, duration, fingerCount) {
                    if (current885Label < active885Labels.length) {
                        current885Label++;
                        active885Labels[current885Label].click()
                    }
                    else
                    {
                        //we are already at the last label, either wrap around or do nothing, or click the last label again, or do something else
                    }
                },
    swipeLeft: function(event, direction, distance, duration, fingerCount) {
                    if (current885Label > 0) {
                        current885Label--;
                        active885Labels[current885Label].click()
                    }
                    else
                    {
                        //we are already at the first label, either wrap around or do nothing, or click the first label again, or do something else
                    }
                }
});