以下是fiddle。
创建此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
而不是self
jsfiddle更正了)。但我仍然不知道为什么toggle()在jsfiddle中不起作用。
答案 0 :(得分:0)
您的jsFiddle
错了。首先,您不使用任何jQuery库,因为您在第一行中引用的文件不存在。其次是您尝试将click事件应用于具有类.fader
的对象,而不是被单击的对象。那个班没有其他对象。请改用parents()
。并且功能(如你所说)“内部”fadeOut在fadeOut结束时触发,因此你的代码有点无意义。
如果您想同时进行动画和淡出,请仅使用动画:
$('.fader').animate({ opacity: 0, top: "-1000px", left: "-1000px" }, 'slow');