错误:需要使用元素初始化Shuffle

时间:2017-10-12 15:19:11

标签: javascript html5 ecmascript-6 shuffle

我有这个代码但是控制台给我一个错误就是给我一个错误" Shuffle需要用元素"来初始化。这是html

<div class="gallery-grid">
                <div class="gallery-item" data-date-created="2016-08-12">1</div>
                <div class="gallery-item" data-date-created="2016-08-13">2</div>
                <div class="gallery-item" data-date-created="2016-08-14">3</div>
                <div class="gallery-item" data-date-created="2016-08-15">4</div>
                <div class="gallery-item" data-date-created="2016-08-16">5</div>
                <div class="gallery-item" data-date-created="2016-08-17">6</div>
                <div class="gallery-item" data-date-created="2016-08-18">7</div>
                <div class="gallery-item" data-date-created="2016-08-19">8</div>
                <div class="gallery-item" data-date-created="2016-08-20">9</div>
                <div class="gallery-item" data-date-created="2016-08-21">10</div>
            </div>

JS

const shuffleInstance = new Shuffle(document.getElementsByClassName('gallery-grid'), {
          itemSelector: '.gallery-item',
          sizer: '.gallery-item',
          speed: 500,
          easing: 'ease-out'
      });

      shuffleInstance.Shuffle();

我做错了什么?

2 个答案:

答案 0 :(得分:2)

document.getElementsByClassName返回一个数组,就像给定类的所有元素的对象一样,所以你需要指定你想要的数组中的哪个项目,如果你想要第一个找到的gallery-grid实例,那么使用:

document.getElementsByClassName('gallery-grid')[0]

答案 1 :(得分:0)

linasmnew 的解决方案对我不起作用。因此,对于其他感兴趣的人:有时在加载 HTML 文档之前初始化 Javascript(并且还没有要加载的元素),因此您必须包含

$(document).ready(function(){
//code here
} 

或不使用 jquery:

document.addEventListener("DOMContentLoaded", function(event) { 
//code here
});