Если вы используете jQuery $.cookie
, примерно так будет работать:
var $layouts = $('.list, .grid'), // cache objects
$button = $('#button'); // to avoid overhead
$button.click(function(e, className){
e.preventDefault();
if(typeof className != 'undefined')
$('.'+className).hide();
$layouts.toggle();
// set cookie to hold the state
$.cookie('shown_type', ($layouts.eq(0).is(':visible') ? 'list' : 'grid'));
});
// check to see if a cookie exists for the app state
var shown_type = $.cookie('shown_type');
if(shown_type == 'list' || shown_type == 'grid'){
$button.trigger('click', [shown_type]); // yes, a cookie exist, show this layout
} else{
$button.trigger('click', ['list']); // no, a cookie does not exist, show list by default
}
Демо . Чтобы проверить, работает ли он, нажмите один раз на переключатель, чтобы установить для него сетку, затем скопируйте URL-адрес и откройте новую вкладку, сетка должна иметь отображаемый макет.