我正在尝试使用 jQuery-ui 的 Accordion 小部件。我想要构建的是一个通过滑动循环浏览所有选项卡的功能。在本示例中,我使用了单击事件,因为我有向上/向下滑动事件监听器单独工作,并且与我的问题无关。本质上,用户将滑动或单击一个区域,选项卡将在这 3 个部分之间来回循环。
我走在正确的轨道上还是有更好的方法来实现这一目标?
JS
$(function () {
$("#accordion").accordion({
collapsible: true,
active: false
});
});
$('#cycle').click(function () {
$('#accordion').accordion({
active: 0
});
function incrementAccValue(obj, val) {
obj = $('#accordion').accordion({
active: val
});
obj.active++ //stuck here..?
}
});
//How to increment an object's property value?
最佳答案
您走在正确的道路上。您只需将事件数字存储在单击功能范围之外,以便该值在下一次单击事件中可用。
类似这样的东西应该有效:http://jsfiddle.net/30vm5y75/
var max_items = $('#accordion h3').length;
var current_item = 0;
$('#cycle').click(function () {
$('#accordion').accordion({
active: current_item
});
if (current_item < max_items-1) {
current_item = current_item + 1;
} else {
current_item = 0;
}
});
关于javascript - 如何通过事件增加/减少对象属性值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30496019/