我有这个代码但是控制台给我一个错误就是给我一个错误" 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();
我做错了什么?
答案 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
});