微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法在WordPress网站中使用Barba js进行简单的页面转换

如何解决无法在WordPress网站中使用Barba js进行简单的页面转换

我正在为WP开发自定义主题,需要进行类似于此网站https://www.instrument.com/

页面转换

Barba.js似乎是用于这些目的的完美解决方案。但是,整个DOM树总是刷新,而不仅仅是内容

这就是我所拥有的:

header.PHP

<html>
  <head>
    <Meta name="viewport" content="width=device-width">
    <?PHP wp_head();?>
  </head>
  <body data-barba="wrapper"
    <?PHP
      if ( get_field('is_dark_theme') ) {
        body_class( 'bg-dark text-light' );
      } else {
        body_class();
      }
      ?>
  >

  <nav>
    ...
  </nav>

  <main data-barba="container" data-barba-namespace="home">

footer.PHP

    </main>
  </div>

  <?PHP wp_footer();?>

  </body>
</html>

在body标记关闭之前注入的主脚本文件中,我具有以下内容

(function () {
  barba.init({
    transitions: [{
      name: 'default-transition',leave() {
        console.log('leave');
      },enter() {
        console.log('enter');
      }
    }]
  });
})();

当我单击导航栏中的链接时,会显示一个leave控制台输出,但随后整个页面会重新加载,就像Barba从未在那儿一样。我从没看到enter输出

首先可以将Barba与WP一起使用吗?如果是这样,我在做什么错了?

感谢您的帮助。

解决方法

结果发现问题出在Barba中的the default timeout。设置为2000毫秒,我的页面花费了更长的时间。如果页面花费的时间超过超时时间,Barba会放弃并刷新整个页面。

我将超时设置为更高的值,并且效果很好。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。