【问题标题】:Glide.js dynamic append content from JsonGlide.js 动态追加来自 Json 的内容
【发布时间】:2020-08-26 15:49:39
【问题描述】:

我正在尝试从 JSON 动态向滑块添加内容。

import Glide from '@glidejs/glide';

function slider() {
  let ul = document.querySelector('.glide__slides');
  let card = '';
  var glide = new Glide('.glide').destroy();

  const photo = import('../metadata/photos.json').then((module) => {
    const data = module.default;
    data.forEach((photo) => {
      console.log(photo);
      card += `<li class="glide__slide"><img src="${photo.thumbnailUrl}" alt="${photo.title}">${photo.id}</li>`;
    });
    ul.innerHTML = card;
  });

  glide.mount();
}

slider();

内容似乎已加载,但滑块无法正常工作

【问题讨论】:

    标签: javascript json slider carousel glidejs


    【解决方案1】:

    这是因为 glide.mount(); 在导入和生成 HTML 完成之前运行。

    因此,您必须导入数据并附加它then 调用glide.mount();

    import Glide from '@glidejs/glide';
    
    function slider() {
      let ul = document.querySelector('.glide__slides');
      let card = '';
      var glide = new Glide('.glide').destroy();
    
      const photo = import('../metadata/photos.json').then((module) => {
        const data = module.default;
        data.forEach((photo) => {
          console.log(photo);
          card += `<li class="glide__slide"><img src="${photo.thumbnailUrl}" alt="${photo.title}">${photo.id}</li>`;
        });
        ul.innerHTML = card;
      }).then(() => glide.mount());
    }
    
    slider();
    

    【讨论】:

    • 感谢您的帮助
    猜你喜欢
    • 2013-06-14
    • 2013-08-24
    • 2016-11-06
    • 2010-11-19
    • 2012-01-21
    • 1970-01-01
    • 1970-01-01
    • 2011-01-30
    • 2022-08-20
    相关资源
    最近更新 更多