javascript - 如何通过事件增加/减少对象属性值?

标签 javascript jquery jquery-ui javascript-objects

我正在尝试使用 jQuery-ui 的 Accordion 小部件。我想要构建的是一个通过滑动循环浏览所有选项卡的功能。在本示例中,我使用了单击事件,因为我有向上/向下滑动事件监听器单独工作,并且与我的问题无关。本质上,用户将滑动或单击一个区域,选项卡将在这 3 个部分之间来回循环。

我走在正确的轨道上还是有更好的方法来实现这一目标?

jsFiddle demo

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/

相关文章:

javascript - 单击叠加。使用Jquery模拟点击

jquery - 这个日期选择器有什么问题吗? (jquery, knockout )

javascript - jQueryUI Draggable - 网格和包含选项

javascript - 禁用对 div 类的点击,但需要启用对同一嵌套类的点击

javascript - 如何在 <li> 标签内插入图片而不改变 <li> 标签的高度?

javascript - 我可以向 JavaScript 中的对象添加公共(public)函数吗?如何?

javascript - Jquery上下文菜单调用函数

php - jquery ui按钮在ajax调用后不出现

javascript - 打开带有 anchor 的 Accordion 面板

javascript - Puppeteer page.goTo() 永远不会完成