所以,我想要的效果是:
http://jsfiddle.net/SCKhf/428/
这完全符合我的要求。但是,我想用动画菜单替换简单的链接单词。
我的编码目前如下:
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);
}
});
我非常感谢这里的任何支持。
答案 0 :(得分:0)
更改HTML会导致next('.box')
功能失效。 next('.box')
找到下一个兄弟,在这种情况下,点击的<a>
标记与选择器匹配。由于该框不再是兄弟,因此该函数找不到任何元素。
我已将next('.box')
更改为.parent().parent().find('.box')
框,但它似乎符合要求:http://jsfiddle.net/M8UgQ/7/