Javascript e load,您将看到在单击排序按钮后,cookie被设置!=>如果你在一个项目上尝试这个,我相信它会奏效的。谢谢。你能不能更精确一点,在哪里添加代码。“标签”在哪里?如果你说“分开”,我必须把代码放在哪里?我没有受过很好的训练,谢谢,那只是一个例子。。我
Javascript e load,您将看到在单击排序按钮后,cookie被设置!=>如果你在一个项目上尝试这个,我相信它会奏效的。谢谢。你能不能更精确一点,在哪里添加代码。“标签”在哪里?如果你说“分开”,我必须把代码放在哪里?我没有受过很好的训练,谢谢,那只是一个例子。。我,javascript,jquery,html,css,cookies,Javascript,Jquery,Html,Css,Cookies,e load,您将看到在单击排序按钮后,cookie被设置!=>如果你在一个项目上尝试这个,我相信它会奏效的。谢谢。你能不能更精确一点,在哪里添加代码。“标签”在哪里?如果你说“分开”,我必须把代码放在哪里?我没有受过很好的训练,谢谢,那只是一个例子。。我已经更新了你想要的,但是没有测试 $(document).ready(function(){ $('.btn-sort-date').on("click", function(){ localStorage.setIt
e load,您将看到在单击排序按钮后,cookie被设置!=>如果你在一个项目上尝试这个,我相信它会奏效的。谢谢。你能不能更精确一点,在哪里添加代码。“标签”在哪里?如果你说“分开”,我必须把代码放在哪里?我没有受过很好的训练,谢谢,那只是一个例子。。我已经更新了你想要的,但是没有测试
$(document).ready(function(){
$('.btn-sort-date').on("click", function(){
localStorage.setItem("selected_item", "date");
});
$('.btn-sort-relevance').on("click", function(){
localStorage.setItem("selected_item", "relevance");
});
var selected_item = localStorage.getItem("selected_item");
if (selected_item) {
sortByDataAttr(selected_item, '.item', '.list');
}
});
$('.btn-sort-date').on('click', function () {
highlightActive(this, 'btn-sort--active');
sortByDataAttr('date', '.item', '.list')();
$.cookie('sort','date');
});
$('.btn-sort-relevance').on('click', function () {
highlightActive(this, 'btn-sort--active');
sortByDataAttr('relevance', '.item', '.list')();
$.cookie('sort','relevance');
});
if (typeof $.cookie('sort') == 'undefined'){
$.cookie('sort','date');
highlightActive('.btn-sort-date', 'btn-sort--active');
sortByDataAttr('date', '.item', '.list');
}
else{
var sort=$.cookie('sort');
highlightActive('.btn-sort-'+sort, 'btn-sort--active');
sortByDataAttr(sort, '.item', '.list');
}
/**
* Hier beginnt im JSFiddle der JavaScript Bereich
*
* @param sortCriteria
* Name of the data-attribute for sorting.
* @param itemsToSort
* A string selector for items for sorting.
* @param container
* A container to put items.
* @returns {Function}
*/
var sortByDataAttr = function (sortCriteria, itemsToSort, container) {
return function () {
// Grab all the items for sorting.
var $collection = $(itemsToSort);
// Sort them and append in to container.
$collection.sort(function (a, b) {
return $(b).data(sortCriteria) - $(a).data(sortCriteria)
}).appendTo($(container));
};
},
/**
* Remove class from all elements and apply to current.
*
* @param current
* HTML node to apply class.
* @param activeClass
* Active-state string class.
*/
highlightActive = function (current, activeClass) {
$('.' + activeClass).removeClass(activeClass);
$(current).addClass(activeClass);
};
if (typeof $.cookie('sort') === 'undefined'){
$.cookie('sort','date');
highlightActive('.btn-sort-date', 'btn-sort--active');
sortByDataAttr('date', '.item', '.list');
}
else{
var sort=$.cookie('sort');
highlightActive('.btn-sort-'+sort, 'btn-sort--active');
sortByDataAttr(sort, '.item', '.list');
}
$('.btn-sort-date').on('click', function () {
highlightActive(this, 'btn-sort--active');
sortByDataAttr('date', '.item', '.list')();
$.cookie('sort','date');
});
$('.btn-sort-relevance').on('click', function () {
highlightActive(this, 'btn-sort--active');
sortByDataAttr('relevance', '.item', '.list')();
$.cookie('sort','relevance');
});
// Hier endet im JSFiddle der JavaScript Bereich
/**
* Hier beginnt im JSFiddle der JavaScript Bereich
*
* @param sortCriteria
* Name of the data-attribute for sorting.
* @param itemsToSort
* A string selector for items for sorting.
* @param container
* A container to put items.
* @returns {Function}
*/
function sortByDataAttr(sortCriteria, itemsToSort, container) {
alert('inside');
// Grab all the items for sorting.
var $collection = $(itemsToSort);
// Sort them and append in to container.
$collection.sort(function (a, b) {
return $(b).data(sortCriteria) - $(a).data(sortCriteria)
}).appendTo($(container));
};
/**
* Remove class from all elements and apply to current.
*
* @param current
* HTML node to apply class.
* @param activeClass
* Active-state string class.
*/
function highlightActive(current, activeClass) {
$('.' + activeClass).removeClass(activeClass);
$(current).addClass(activeClass);
};
if (typeof $.cookie('sort') === 'undefined'){
alert($.cookie('sort'));
$.cookie('sort','date');
highlightActive('.btn-sort-date', 'btn-sort--active');
sortByDataAttr('date', '.item', '.list');
}
else{
alert($.cookie('sort'));
var sort=$.cookie('sort');
highlightActive('.btn-sort-'+sort, 'btn-sort--active');
sortByDataAttr(sort, '.item', '.list');
}
$('.btn-sort-date').on('click', function () {
highlightActive(this, 'btn-sort--active');
sortByDataAttr('date', '.item', '.list')();
$.cookie('sort','date');
});
$('.btn-sort-relevance').on('click', function () {
highlightActive(this, 'btn-sort--active');
sortByDataAttr('relevance', '.item', '.list')();
$.cookie('sort','relevance');
});
// Hier endet im JSFiddle der JavaScript Bereich
$.cookie('sortby', 'relevance', {expires:30});
$(document).ready(function() {
if ('relevance' == $.cookie('sortby')) {
sortByDataAttr('relevance', '.item', '.list')();
} else {
sortByDataAttr('date', '.item', '.list')();
}
});