所以我写了以下代码:

$('.frame').each(function(){
    $(this).click(function(e){
        var id = $(this).attr('id');
        e.preventDefault();
        $('.active').removeClass('active').fadeOut(800).queue(function(){
            $('#box'+id).addClass('active').fadeIn(800);
        });
    });
});

所以每当一个带有frame类的按钮被点击时,它就会得到相应的框并将其淡入。。。至少在理论上是这样。这是第一次为每个框工作,所以我可以点击一次,通过他们所有的正确淡入。但每当我想淡入一个,我已经淡入之前(即使我点击了所有其他之前),它不会再次淡入。它仍然添加活动类,正确地淡出另一个并删除其活动类,但它不会淡入。
似乎这还不够奇怪,一旦我引发上述错误,代码就会立即停止工作。所以说,只要我第二次尝试淡入一个对象并且它不会淡入,我就不能再次淡入另一个对象,它甚至不再添加活动类(但是stil删除了旧的类!)
希望你能帮忙。

最佳答案

$('.frame').click(function(e) {
    var id = $(this).attr('id');
    e.preventDefault();
    $('.active').removeClass('active').fadeOut(800, function() {
        $('#box' + id).addClass('active').fadeIn(800);
    });
});

如果这不起作用,请提供您的HTML或fiddle

关于jquery - jQuery FadeIn多次,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16687458/

10-11 13:02