0

我正在尝试使用 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 中)依次向下,每次向右滑动,向左滑动向上。

希望我能解释这一点。有什么帮助吗??

4

1 回答 1

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
                    }
                }
});
于 2012-12-08T18:32:03.347 回答