Quelques questions. Vous chargez à la fois de l'isotope et de la maçonnerie. Ce sont des bibliothèques séparées. Les isotopes ont une disposition en maçonnerie mais ils ne sont pas utilisés ensemble. Retirez la bibliothèque « js/isotope docs.min.js » puis charger les fichiers js comme ceci:
<script src="js/jquery.min.js"></script>
<script src="js/masonry.pkgd.min.js"></script>
<script src="js/scripts.js"></script>
Ensuite, vous appelez la maçonnerie deux fois avec le deuxième appel de ne pas avoir toutes les options définies:
var elem = document.querySelector('.grid');
var msnry = new Masonry(elem, {
// options
itemSelector: '.grid-item',
columnWidth: '.grid-width',
stagger: 30,
});
// element argument can be a selector string
// for an individual element
var msnry = new Masonry('.grid', {
// options
});
Modifier le code à ceci:
var elem = document.querySelector('.grid');
var msnry = new Masonry(elem, {
// options
itemSelector: '.grid-item',
columnWidth: '.grid-width',
stagger: 30,
});
Troisièmement, vous devriez envisager d'utiliser imagesloaded.js comme described here pour éviter l'image chevauche.