1

我有一个带有 slideUp 和 SlideDown 的菜单。

用户单击 menuArea 并打开菜单并显示带有十字的图像。要关闭按钮,用户在图像中单击,该图像将变为不可见。

我在这一步遇到了问题。

看看这个小提琴:http: //jsfiddle.net/pedroR/7YNJY/3/

注意:由于图像,请在 Chrome 或 IE 中查看此小提琴

谢谢

4

3 回答 3

2

http://jsfiddle.net/7YNJY/12/在这里试试这个。您可以将动画放回原处,但我只是将其简化了一点以使其更易于阅读。

于 2011-08-02T09:05:31.037 回答
2

问题是img包含在#menuText元素中。这意味着当您单击img元素时,也会触发 click 事件处理程序#menuText,并且当它运行时,它会淡入img

您可以通过向imgclick 事件处理程序添加参数并调用stopPropagation以防止事件冒泡来防止这种情况发生:

$('#menuArea #menuText img').click(function(e) {
    e.stopPropagation();
    $('#menuArea ul').delay(100).slideUp(250);
    $(this).stop(true, true).delay(100).animate({
        opacity: 0
    }, '100', 'linear');
});

这是一个工作示例

于 2011-08-02T09:05:45.643 回答
0

看看这是否是您正在寻找的结果:http: //jsfiddle.net/rkw79/7YNJY/13/

于 2011-08-02T09:07:19.510 回答