0

我正在使用 .fadeToggle ,这样当我单击三个 div 之一时,另外两个会淡入两个不同的 div,而单击的那个仍然存在。问题是,在过渡期间,div 重叠,所以当所有四个变化的 div 都可见时会有一瞬间(短但不美观)。如何创建一个所有四个显示都设置为无的时刻,以便切换平滑?

以下是到目前为止的所有 JavaScript:

$(document).ready(function() {
    $('[class^="col"]').click(function() {
        var m = $(this).attr('id');
        $('[class^="col"]').not(this).fadeToggle('slow');
        $('#' + m + 'p').fadeToggle('slow');
        $('#' + m + 't').fadeToggle('slow');
    });
});

谢谢!

4

2 回答 2

0

感谢所有答案,但在经历了几种可能性后,我发现使用 if/else 语句给出了我想要的确切结果。如果它可以帮助其他人,你去:http: //jsbin.com/cusohu/edit ?js,output

于 2015-12-28T16:27:38.297 回答
0

jQuery.queue()

    $('[class^="col"]').not(this).fadeToggle('slow').queue(function() {
      $('#' + m + 'p').fadeToggle('slow');
      $('#' + m + 't').fadeToggle('slow');
    });

在某些情况下,您可能想要扭转这种情况(先把那些放在里面。)

于 2015-12-27T22:27:15.190 回答