 
			
				17.12.2019, 12:48
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Аспирант 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 24.02.2011 
					
					
					
						Сообщений: 66
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
			
			 
				Использование Cookie для табов
			 
			
		
		
		
		Здравствуйте. Помогите с сохранением выбора пользователя в табах. Необходимо, чтобы после перезагрузки страницы выбор сохранялся. 
HTML:
 
<div class="filt-bx">
<div class="t">Проекты:</div>
<ul class="list">
<li><a class="sw-links sw-all" href="">Все</a></li>
<li><a class="sw-links sw-l1 act" href="">Город</a></li>
<li><a class="sw-links sw-l2" href="">Год</a></li>
<li><a class="sw-links sw-l3" href="">Функция</a></li>
</ul>
<div class="line"></div>
<ul class="list-town lanks1">
Пункты меню 1
</ul>
<ul class="list-town lanks2">
Пункты меню 2
</ul>
<ul class="list-town lanks3">
Пункты меню 3
</ul>
</div>
 
$(function() {
  $(".toggle_mnu").click(function() {
    $(".sandwich").toggleClass("active");
    $(this).toggleClass("active");
    $('.header .right').toggle();
  });
  $(".sxem-item .opener").click(function() {
    $(this).parent().toggleClass("act");
  });
  //параллакс
  function parallax(){
      var scrolled = $(window).scrollTop();
      $('.compamy-box .bg').css('top', -(scrolled * 0.15) + 'px');
  }
  $(window).scroll(function(e){
      parallax();
  });
  $(".sw-links").click(function(event) {
    event.preventDefault();
    $('.list-town').hide();
    $(".sw-links").removeClass("act");
    $(this).addClass("act");
  });
   $(".sw-l1").click(function(event) {
   $('.lanks1').show();
  });
   $(".sw-l2").click(function(event) {
   $('.lanks2').show();
  });
   $(".sw-l3").click(function(event) {
   $('.lanks3').show();
  });
   $(".sw-all").click(function(event) {
   $('.list-town').hide();
  });
 
	
});
 
		
	
		
		
		
		
		
		
	
		
			
			
	
			
			
			
			
			
				 
			
			
			
			
			
			
				
			
			
			
		 
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				17.12.2019, 13:35
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.05.2010 
					
					
					
						Сообщений: 33,150
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				17.12.2019, 13:41
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Аспирант 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 24.02.2011 
					
					
					
						Сообщений: 66
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Спасибо, что ответили. Можете подсказать, как это реализовать на моём примере?  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				17.12.2019, 13:56
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.05.2010 
					
					
					
						Сообщений: 33,150
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		steepfox,
   
добавить в строку 42 вашего кода 
 
var a = $(".sw-links"),
        indx = localStorage.getItem("indx");
    a.on("click", function() {
        indx = a.index(this);
        localStorage.setItem("indx", indx)
    });
    indx !== null && a.eq(indx).click();
 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				17.12.2019, 14:20
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 CacheVar 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 19.08.2010 
					
					
					
						Сообщений: 14,298
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Пример работы с куками... 
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='https://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
.act {
	color: red;
}
</style>
<script type='text/javascript'>
$(function(){
	$('.list .sw-links').on('click',function(){
		var o=$(this);
		var pr=o.closest('ul');
		var it=pr.find('.sw-links').index(this);
		set_cookie('item',it);
		pr.find('.act').removeClass('act');
		o.addClass('act')
		return false;
	});
	var it=get_cookie('item');
	if (it) {
		$('.list .act').removeClass('act');
		$('.list .sw-links').eq(it).addClass('act')
	};
});
function set_cookie ( name, value, exp_y, exp_m, exp_d, path, domain, secure ){
  var cookie_string = name + "=" + escape ( value );
  if ( exp_y )  {
    var expires = new Date ( exp_y, exp_m, exp_d );
    cookie_string += "; expires=" + expires.toGMTString();
  }
  if ( path )
        cookie_string += "; path=" + escape ( path );
  if ( domain )
        cookie_string += "; domain=" + escape ( domain );
  if ( secure )
        cookie_string += "; secure";
  
  document.cookie = cookie_string;
}
function get_cookie ( cookie_name ){
  var results = document.cookie.match ( '(^|;) ?' + cookie_name + '=([^;]*)(;|$)' );
  if ( results )
    return ( unescape ( results[2] ) );
  else
    return null;
}
</script>
</head>
<body>
<div class="filt-bx">
<div class="t">Проекты:</div>
<ul class="list">
<li><a class="sw-links sw-all" href="">Все</a></li>
<li><a class="sw-links sw-l1 act" href="">Город</a></li>
<li><a class="sw-links sw-l2" href="">Год</a></li>
<li><a class="sw-links sw-l3" href="">Функция</a></li>
</ul>
</div>
</body>
</html>
 
		
	
		
		
		
		
		
		
	
		
			
			
	
			
			
			
			
			
				 
			
			
			
			
			
			
				
			
			
			
		 
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				17.12.2019, 14:20
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Аспирант 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 24.02.2011 
					
					
					
						Сообщений: 66
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от рони
			 
		
	 | 
 
	
		steepfox, 
   
добавить в строку 42 вашего кода  
var a = $(".sw-links"),
        indx = localStorage.getItem("indx");
    a.on("click", function() {
        indx = a.index(this);
        localStorage.setItem("indx", indx)
    });
    indx !== null && a.eq(indx).click();
	 | 
 
	
 
 Всё круто! На локалке всё хорошо отображается, как перезаписал файлы на хостинге, то страница, на которой отображается этот таб - постоянно в перезагрузку уходит. В чём может быть проблема?  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				17.12.2019, 14:38
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.05.2010 
					
					
					
						Сообщений: 33,150
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		steepfox, 
 добавьте preventDefault
 
var a = $(".sw-links"),
        indx = localStorage.getItem("indx");
    a.on("click", function(event) {
        event.preventDefault()
        indx = a.index(this);
        localStorage.setItem("indx", indx)
    });
    indx !== null && a.eq(indx).click();
 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				17.12.2019, 14:41
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.05.2010 
					
					
					
						Сообщений: 33,150
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 steepfox, 
 если не поможет, то добавьте preventDefault во все клики строки 30-41 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				17.12.2019, 14:48
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 Аспирант 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 24.02.2011 
					
					
					
						Сообщений: 66
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от рони
			 
		
	 | 
 
	
		steepfox, 
 если не поможет, то добавьте preventDefault во все клики строки 30-41
	 | 
 
	
 
 Скорее всего дело в том, что задаю ссылке "Все" - событие onclick="location.href = 'http://sait.ru/';"
 
При нажатии на пункт Все, должен перекидывать на главную страницу, скорее всего из-за этого и возникает конфликт
 
Решил проблему, убрав класс sw-links у пункта: "Все"  
		
	
		
		
		
		
		
		
		
						  
				
				Последний раз редактировалось steepfox, 17.12.2019 в 14:56.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				17.12.2019, 14:56
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 27.05.2010 
					
					
					
						Сообщений: 33,150
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 steepfox, 
 indx !== null && +indx > 0 && a.eq(indx).click(); 
		
	
		
		
		
		
		
		
		
						  
				
				Последний раз редактировалось рони, 17.12.2019 в 15:04.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
 
 |  
  |