动画菜单中的多个滑动分区

时间:2013-07-15 17:38:08

标签: javascript animation html button slidetoggle

所以,我想要的效果是:

http://jsfiddle.net/SCKhf/428/

这完全符合我的要求。但是,我想用动画菜单替换简单的链接单词。

我的编码目前如下:

http://jsfiddle.net/M8UgQ/4/

div不会出现!调用div时,javascript是相同的。 javascript编码的唯一区别是添加了悬停动画。

var open = $('.open'),
a = $('ul').find('a');

console.log(a.hasClass('active'));

open.click(function(e){
    e.preventDefault();
    var $this = $(this),
        speed = 500;
    if($this.hasClass('active') === true) {
        $this.removeClass('active').next('.box').slideUp(speed);
    } else if(a.hasClass('active') === false) {
        $this.addClass('active').next('.box').slideDown(speed);
    } else {
        a.removeClass('active').next('.box').slideUp(speed);
        $this.addClass('active').next('.box').delay(speed).slideDown(speed);
    }
});

我非常感谢这里的任何支持。

1 个答案:

答案 0 :(得分:0)

更改HTML会导致next('.box')功能失效。 next('.box')找到下一个兄弟,在这种情况下,点击的<a>标记与选择器匹配。由于该框不再是兄弟,因此该函数找不到任何元素。

我已将next('.box')更改为.parent().parent().find('.box')框,但它似乎符合要求:http://jsfiddle.net/M8UgQ/7/