简体   繁体   English

Jquery 选项卡在褪色前更改 animation

[英]Jquery tabs changing before fade animation

I've wanted to do smooth transition between tabs (first fadetoggle, then change content, fadetoogle again), but "changing content" part doesn't wait for the animation to finish.我想在选项卡之间进行平滑过渡(首先淡入淡出,然后更改内容,再次淡入淡出),但是“更改内容”部分不会等待 animation 完成。 Ie content changes before finishing the animation完成animation之前的ie内容变化

$('.catalog__wrapper').fadeToggle('slow', executeTabChange(tab, () => $('.catalog__wrapper').fadeToggle()))

Link to jsfiddle链接到 jsfiddle
https://jsfiddle.net/Denchuk10111/cowypes2/34/ https://jsfiddle.net/Denchuk10111/cowypes2/34/

Something like this像这样的东西

$(document).ready(function() {
      $('ul.catalog__tabs').on('click', 'li:not(.catalog__tab_active)', function() {
        const tab = $(this);
        $('.catalog__wrapper').fadeOut('slow', () => {
            executeTabChange(tab, ()=>{
                $('.catalog__wrapper').fadeIn()
            });
        });
      });

      function executeTabChange(form, callback) {
        form
          .addClass('catalog__tab_active').siblings().removeClass('catalog__tab_active')
          .closest('body').find('div.catalog__content').removeClass('catalog__content_active')
          .eq(form.index()).addClass('catalog__content_active');
          callback();
      }

    })

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM