使用jQuery's toggle()不会'我不在jsfiddle工作

hover image using jQuery's toggle() doesn't work in jsfiddle

本文关键字:jsfiddle 不会 工作 jQuery toggle 使用      更新时间:2023-09-26

下面是小提琴。

创建这个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而不是jsfiddle更正的self)。但我仍然不知道为什么toggle()在jsfiddle中不起作用。

您的jsFiddle错误。首先,您不使用任何jQuery库,因为您在第一行中引用的文件不存在。第二,您正在尝试将click事件应用于类为.fader的对象,而不是被单击的对象。并且该类中没有其他对象。请改用parents()。函数(正如你所调用的)"内部"fadeOut在fadeOut结束时被触发,所以你的代码有点毫无意义。

如果您想同时设置动画和淡出,请仅使用animate:

$('.fader').animate({ opacity: 0, top: "-1000px", left: "-1000px" }, 'slow');