我想使用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中显示)按顺序逐个向下,每次向右滑动向上,向左滑动。
希望我能解释一下这一点。 任何帮助??
答案 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
}
}
});