前提・実現したいこと
jqueryのプラグイン(MUURI)を使用してギャライーサイトを制作しております。
発生している問題・エラーメッセージ
PCで見ると問題ないのですが、スマホで並び替えをした時にコンテンツが重なってしまい、上手に表示されません。
該当のソースコード
document.addEventListener('DOMContentLoaded', function() { var grid = null, wrapper = document.querySelector('.grid-wrapper'), searchField = wrapper.querySelector('.search-field'), filterField = wrapper.querySelector('.filter-field'), jobField = wrapper.querySelector('.job-field'), sortField = wrapper.querySelector('.sort-field'), gridElem = wrapper.querySelector('.grid'), searchAttr = 'data-title', filterAttr = 'data-place', jobAttr = 'data-job', searchFieldValue, filterFieldValue, jobFieldValue, sortFieldValue, dragOrder = []; // Init the grid layout grid = new Muuri(gridElem, { dragEnabled: false }); // Set inital search query, active filter, active sort value and active layout. searchFieldValue = searchField.value.toLowerCase(); filterFieldValue = filterField.value; jobFieldValue = jobField.value; sortFieldValue = sortField.value; // Search field event binding searchField.addEventListener('keyup', function() { var newSearch = searchField.value.toLowerCase(); if (searchFieldValue !== newSearch) { searchFieldValue = newSearch; filter(); } }); // Filter field event binding filterField.addEventListener('change', filter); jobField.addEventListener('change', job); // Sort field event binding sortField.addEventListener('change', sort); // Filtering function filter() { filterFieldValue = filterField.value; grid.filter(function(item) { var element = item.getElement(), isSearchMatch = !searchFieldValue ? true : (element.getAttribute(searchAttr) || '').toLowerCase().indexOf(searchFieldValue) > -1, isFilterMatch = !filterFieldValue ? true : (element.getAttribute(filterAttr) || '') === filterFieldValue; return isSearchMatch && isFilterMatch; }); } function job() { jobFieldValue = jobField.value; grid.filter(function(item) { var element = item.getElement(), isSearchMatch = !searchFieldValue ? true : (element.getAttribute(searchAttr) || '').toLowerCase().indexOf(searchFieldValue) > -1, isJobMatch = !jobFieldValue ? true : (element.getAttribute(jobAttr) || '') === jobFieldValue; return isSearchMatch && isJobMatch; }); } // Sorting function sort() { // Do nothing if sort value did not change. var currentSort = sortField.value; if (sortFieldValue === currentSort) { return; } // If we are changing from "order" sorting to something else // let's store the drag order. if (sortFieldValue === 'order') { dragOrder = grid.getItems(); } // Sort the items. grid.sort( currentSort === 'title' ? compareItemTitle : currentSort === 'place' ? compareItemPlace : currentSort === 'job' ? compareItemPlace : dragOrder ); sortFieldValue = currentSort; } // Compare data-title function compareItemTitle(a, b) { var aVal = a.getElement().getAttribute(searchAttr) || ''; var bVal = b.getElement().getAttribute(searchAttr) || ''; return aVal < bVal ? -1 : aVal > bVal ? 1 : 0; } // Compare data-place function compareItemPlace(a, b) { var aVal = a.getElement().getAttribute(filterAttr) || ''; var bVal = b.getElement().getAttribute(filterAttr) || ''; return aVal < bVal ? -1 : aVal > bVal ? 1 : compareItemTitle(a, b); } function compareItemPlace(a, b) { var aVal = a.getElement().getAttribute(jobAttr) || ''; var bVal = b.getElement().getAttribute(jobAttr) || ''; return aVal < bVal ? -1 : aVal > bVal ? 1 : compareItemTitle(a, b); } });
試したこと
外側の高さや内側のコンテンツの高さなどを変えてみましたが、変わりませんでした。
補足情報(FW/ツールのバージョンなど)
よろしくお願いいたします。