无法使用`queue`删除类

时间:2015-06-15 11:19:30

标签: jquery

我正在添加类名并删除单击链接。我可以添加该类,但我无法使用queue删除该类。

这是我的功能,任何一个帮助来解决这个问题?

element.find('a.menu')
.click(function () {
    flag = !flag;

    var spans = element.find('nav span').find('a');

    if(flag) {
        element.find('nav').addClass('active');
        spans.each(function (i) {
            $(this).delay(i*100).queue(function(next) {
                $(this).addClass('show').next(); //works
            });
        });
    }

    if(!flag) {
        $(spans).each(function (i) {
            $(this).delay(i*500).queue(function(next) {
                $(this).removeClass('show'); //not working
                next();
            })
        })
    }

})

1 个答案:

答案 0 :(得分:0)

我添加了nextdequeue方法更新了我的代码。它有效。

element.find('a.menu')
                    .click(function () {
                        flag = !flag;

                        var spans = element.find('nav span').find('a');

                        if(flag == true) {

                            element.find('nav').addClass('active');
                            spans.each(function (i) {
                                $(this).delay(i*100).queue(function(next) {
                                    $(this).addClass('show');
                                    next();
                                });
                            });

                            return false;
                        }

                        if(flag == false) {

                            $(element.find('nav span').find('a').get().reverse())
                            .each(function (i) {
                                $(this).delay(i*100).queue(function() {
                                    $(this).removeClass('show').dequeue();
                                });
                                if(spans.length-1 == i) {
                                    element.find('nav').delay(i*120).queue(function () {
                                        $(this).removeClass('active').dequeue();
                                    })
                                }
                            })

                        }
                })