再読み込みまたはリンクされたときに JavaScript によってトリガーされる変更をページに適用する場合、URL には、読み込み時にフィルターを適用するように Javascript に指示する何かを含める必要があります。ページのhash
場所の は、これを行う最も一般的な方法です。
少し分解してonClickFilter
、ページの場所のハッシュを変更することをお勧めします。
var onClickFilter = function(event) {
updateWithFilterElement($(event.currentTarget));
}
var updateWithFilterElement = function(item) {
var activeFilters = [];
if (!item.hasClass('active')) {
filters.removeClass('active');
location.hash = '';
}
item.toggleClass('active');
// Filter by the currently selected filter
if (item.hasClass('active')) {
activeFilters.push(item.data('filter'));
location.hash = item.data('filter');
}
handler.wookmarkInstance.filter(activeFilters);
};
これで、ユーザーがフィルターをクリックすると、後で使用できるように URL に保存されます。画像を読み込んでマウス イベントを設定したら、場所にハッシュがある場合にフィルターを変更するコードを追加できます。
if (location.hash != '') {
updateWithFilterElement($("*[data-filter='" + location.hash + "']"));
}
フィルタリングを試みる前に、そのような要素が実際に存在することを確認するために、エラーチェックを追加する必要があります。