barba js - как сделать наложение переходов

303
20 сентября 2017, 14:12

Как реализовать наложение переходов в плагине barba js? В примерах на оф сайте, только когда один исчезает, а второй проявляется, а мне нужно что то типа один перекрывает другого.

Вообще не понимаю почитав мануал на оф сайте

UPD: плагин barba используется для ajax переходов на сайте, чтобы страницы сменялись с какой-либо анимацей. На оф сайте описан пример анимации перехода, когда старая страница затухает, а новая проявляется, эти две фазы четко разделены, то есть заканчивается первая - начинается вторая. Мне же нужна накладка действий, например есть разделение экрана на пополам, и нужно при переходе, чтобы поверх старой страницы, схлапывалась новая(то есть две части, одна слева одна справа из-за пределов экрана двигались к центру.).

пример с проявлением с офф сайта:

var FadeTransition = Barba.BaseTransition.extend({ 
  start: function() { 
    /** 
     * This function is automatically called as soon the Transition starts 
     * this.newContainerLoading is a Promise for the loading of the new container 
     * (Barba.js also comes with an handy Promise polyfill!) 
     */ 
 
    // As soon the loading is finished and the old page is faded out, let's fade the new page 
    Promise 
      .all([this.newContainerLoading, this.fadeOut()]) 
      .then(this.fadeIn.bind(this)); 
  }, 
 
  fadeOut: function() { 
    /** 
     * this.oldContainer is the HTMLElement of the old Container 
     */ 
 
    return $(this.oldContainer).animate({ opacity: 0 }).promise(); 
  }, 
 
  fadeIn: function() { 
    /** 
     * this.newContainer is the HTMLElement of the new Container 
     * At this stage newContainer is on the DOM (inside our #barba-container and with visibility: hidden) 
     * Please note, newContainer is available just after newContainerLoading is resolved! 
     */ 
 
    var _this = this; 
    var $el = $(this.newContainer); 
 
    $(this.oldContainer).hide(); 
 
    $el.css({ 
      visibility : 'visible', 
      opacity : 0 
    }); 
 
    $el.animate({ opacity: 1 }, 400, function() { 
      /** 
       * Do not forget to call .done() as soon your transition is finished! 
       * .done() will automatically remove from the DOM the old Container 
       */ 
 
      _this.done(); 
    }); 
  } 
}); 
 
/** 
 * Next step, you have to tell Barba to use the new Transition 
 */ 
 
Barba.Pjax.getTransition = function() { 
  /** 
   * Here you can use your own logic! 
   * For example you can use different Transition based on the current page or link... 
   */ 
 
  return FadeTransition; 
};

READ ALSO
Добавить класс по условию VUE.JS

Добавить класс по условию VUE.JS

Хочется сделать красиво, придерживаясь логики VUEJS

476
Как добавить в объект значение из переменной

Как добавить в объект значение из переменной

Как сделать, чтобы в alert был Вася? Надо сделать, чтобы работало даже, если не знать user заранее

271
Canvas пустой после добавления картинки

Canvas пустой после добавления картинки

Эллемент Image создается стабильно и с нужной картинкойНо в канвас почему-то ничего не добавляется

324