0

这是下面的小提琴

创建这个 jsfiddle 的原因是它animate()在函数内部fadeOut()不起作用,但在外部起作用:

$(".fader").click(function (e) {
    var self = this;
     $('.fader').not(self).fadeOut(function () {
        $(self).animate({top: "220",left: "200"}); // doesn't work
        LoadContent(fader.attr('id')); // works 
     });

     $(this).animate({top: "220", left: "200"}); // works
});

编辑:好的,我现在看到 animate() 没有运行的原因 - 我调用了错误的元素(this而不是selfjsfiddle 更正的元素)。但我仍然不知道为什么 toggle() 在 jsfiddle 中不起作用。

4

1 回答 1

0

jsFiddle错了。首先,您不使用任何 jQuery 库,因为您在第一行引用的文件不存在。其次是您试图将点击事件应用于具有类的对象,.fader而不是被点击的对象。该类没有其他对象。改为使用parents()。并且函数(如您所说)“内部”fadeOut 在fadeOut 结束时触发,因此您的代码有点毫无意义。

如果你想同时动画和淡出,只使用动画:

$('.fader').animate({ opacity: 0, top: "-1000px", left: "-1000px" }, 'slow');
于 2013-08-14T07:42:39.987 回答