Задать вопрос
@HexJean

Как сделать так, чтобы выбранное свойство пользователем сохранялось?

Есть простенький скрипт:
$(document).ready(function () {

	//Минимальный размер шрифта
	var min=9; 	

	//Максимальный размер шрифта
	var max=16;	
	
	//Сохраняем заданное в таблице стилей значение размера шрифта
	var reset = $('p').css('fontSize'); 
	
	//Изменение размера будет проводиться для указанных элементов
	var elm = $('p, h1, a, ul, li, div.sp-head, h2.widgettitle, label, h3.comment-reply-title, input.submit, span, h4.comments');  
	
	//Устанавливаем в переменной значение шрифта по умолчанию (удаляем px)
	var size = str_replace(reset, 'px', ''); 
	var size_reset = size;
	
	//Функция увеличения размера шрифта
	$('a.fontSizePlus').click(function() {
		
		//Если размер шрифта меньше или равен максимальному значению
		if (size<=max) {
			
			//Увеличиваем размер шрифта
			size++;
			
			//Устанавливаем размер шрифта
			elm.css({'fontSize' : size});
		}
		
		//Прерываем передачу события далее по дереву DOM
		return false;	
		
	});
    
	//Функция уменьшения размера шрифта
	$('a.fontSizeMinus').click(function() {

		//Если размер шрифта больше или равен минимальному значению
		if (size>=min) {
			
			//Уменьшаем размер
			size--;
			
			//Устанавливаем размер шрифта
			elm.css({'fontSize' : size});
		}
		
		//Прерываем дальнейшую передачу события по дереву DOM
		return false;	
		
	});
	
	//Функция сброса к значению по умолчанию
	$('a.fontReset').click(function () {
		
		//Устанавливаем значение размера шрифта по умолчанию
		 size = size_reset;
		 elm.css({'fontSize' : reset});		
	});
		
});

//Функция замена строки
function str_replace(haystack, needle, replacement) {
	var temp = haystack.split(needle);
	return temp.join(replacement);
}


Реализуется это с помощью ссылок:
<a href="#" class="fontSizePlus">Font+</a> | 
<a href="#" class="fontSizeMinus">Font-</a>


Понятное дело, что после перезагрузки страницы, все настройки собьются и размер шрифта вернется к первоначальному состоянию. Как сделать так, чтобы этот параметр сохранялся у пользователя после обновления страницы/перехода по ссылке?

Вроде бы как такое осуществляется через куки. И я даже нашел в Интернете функцию создания и получения куки:
<?php
 add_action( 'init', 'my_setcookie_example' );
 function my_setcookie_example() {
 setcookie( $visitor_username, $username_value, 3 * DAYS_IN_SECONDS, COOKIEPATH, COOKIE_DOMAIN );
 }
?>


<?php
 if(!isset($_COOKIE[$visitor_username])) {
 echo "The cookie: '" . $visitor_username . "' is not set.";
 } else {
 echo "The cookie '" . $visitor_username . "' is set.";
 echo "Value of cookie: " . $_COOKIE[$visitor_username];
 }
?>


Но этого, мне кажется, недостаточно. Потому как я пытаюсь подставить, ничего не получается.
  • Вопрос задан
  • 95 просмотров
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы