Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 01.12.2016, 20:38
Новичок на форуме
Отправить личное сообщение для Warycooper Посмотреть профиль Найти все сообщения от Warycooper
 
Регистрация: 30.11.2016
Сообщений: 8

function getCookie(name) {
var matches = document.cookie.match(new RegExp(
"(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"
));
return matches ? decodeURIComponent(matches[1]) : undefined;
}
$(function(){

var yourcolor = getCookie('color');
if(yourcolor){
if(yourcolor=="button1"){

} else if(yourcolor=="button2"){
$('.button1').removeClass('active');
$('.button2').addClass('active');
}
}
$('.button1, .button2').click(function(){
$('.button1, .button2').toggleClass('active');
if($('.button1').hasClass('active')){
var date = new Date(new Date().getTime() + 60 * 1000);
document.cookie = "color=button1; path=/; expires=" + date.toUTCString();
} else if($('.button2').hasClass('active')){
var date = new Date(new Date().getTime() + 60 * 1000);
document.cookie = "color=button2; path=/; expires=" + date.toUTCString();
}
});
});


Вот, но не работает.
Ответить с цитированием
  #12 (permalink)  
Старый 02.12.2016, 06:07
Новичок на форуме
Отправить личное сообщение для Warycooper Посмотреть профиль Найти все сообщения от Warycooper
 
Регистрация: 30.11.2016
Сообщений: 8

window.onload = function() {
		    document.getElementById('SuperButton').onclick = function()
		    {
		        if(document.getElementById('col').className != 'whitefon')
		        {
		            document.getElementById('col').className = 'whitefon';
		        }
		        else
		        {
		            document.getElementById('col').className = 'topic-content';
		        }
		    }
		}
		function getCookie(name) {
		  var matches = document.cookie.match(new RegExp(
		    "(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"
		  ));
		  return matches ? decodeURIComponent(matches[1]) : undefined;
		}
		$(function(){
			
			var yourcolor = getCookie('color');
			// alert(1);
			if(yourcolor){
				if(yourcolor=="button1"){

				} else if(yourcolor=="button2"){
					$('.button1').removeClass('active');
					$('.button2').addClass('active');
				}
			}
		$('.button1, .button2').click(function(){
		    $('.button1, .button2').toggleClass('active');
		    if($('.button1').hasClass('active')){
		    	var date = new Date(new Date().getTime() + 60 * 1000);
				document.cookie = "color=button1; path=/; expires=" + date.toUTCString();
		    } else if($('.button2').hasClass('active')){
		    	var date = new Date(new Date().getTime() + 60 * 1000);
				document.cookie = "color=button2; path=/; expires=" + date.toUTCString();
		    }
		  });
		});


Точнее записывает фон кнопки, а фон самого текста .whitefon нет.
Ответить с цитированием
  #13 (permalink)  
Старый 02.12.2016, 08:22
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от Warycooper
Вот, но не работает.
Примеры нужно делать полные... Огрызки оставь себе.
Ответить с цитированием
  #14 (permalink)  
Старый 02.12.2016, 09:30
Новичок на форуме
Отправить личное сообщение для Warycooper Посмотреть профиль Найти все сообщения от Warycooper
 
Регистрация: 30.11.2016
Сообщений: 8

http://codepen.io/warycooper/pen/yVpxNL - Вот здесь полный пример
Ответить с цитированием
  #15 (permalink)  
Старый 02.12.2016, 09:43
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от Warycooper
http://codepen.io/warycooper/pen/yVpxNL - Вот здесь полный пример
Капец у тебя говнокод...

Если я правильно понял, нужно мочь кнопками менять фон и при перезагрузке последний фон должен оставаться?
Ответить с цитированием
  #16 (permalink)  
Старый 02.12.2016, 09:52
Новичок на форуме
Отправить личное сообщение для Warycooper Посмотреть профиль Найти все сообщения от Warycooper
 
Регистрация: 30.11.2016
Сообщений: 8

Сообщение от ksa Посмотреть сообщение
Капец у тебя говнокод...

Если я правильно понял, нужно мочь кнопками менять фон и при перезагрузке последний фон должен оставаться?
Именно этого я и хочу добиться.
Ответить с цитированием
  #17 (permalink)  
Старый 02.12.2016, 10:54
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от Warycooper
Именно этого я и хочу добиться
Тогда кода через чур много...

<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='http://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'>
</style>
<script type='text/javascript'>
$(function(){
	var clr=getCookie('color');
	if (clr) {
		$('#test').css('background-color',clr);
	};
	$('#btn1').click(function(){
		var clr='#ffffff';
		$('#test').css('background-color',clr);
		setCookie('color',clr);
	});
	$('#btn2').click(function(){
		var clr='red';
		$('#test').css('background-color',clr);
		setCookie('color',clr);
	});
});
function getCookie(name) {
	var matches = document.cookie.match(new RegExp(
		"(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"
	));
	return matches ? decodeURIComponent(matches[1]) : undefined;
};
function setCookie(name, value, options) {
	options = options || {};
	var expires = options.expires;
	if (typeof expires == "number" && expires) {
		var d = new Date();
		d.setTime(d.getTime() + expires * 1000);
		expires = options.expires = d;
	};
	if (expires && expires.toUTCString) {
		options.expires = expires.toUTCString();
	};
	value = encodeURIComponent(value);
	var updatedCookie = name + "=" + value;
	for (var propName in options) {
		updatedCookie += "; " + propName;
		var propValue = options[propName];
		if (propValue !== true) {
			updatedCookie += "=" + propValue;
		}
	};
	document.cookie = updatedCookie;
}
</script>
</head>
<body>
<div>
	<button id="btn1">сделать белый фон</button>
	<button id="btn2">сделать тёмный фон</button>
</div>
<div id="test">Здесь меняет фон текста</div>
</body>
</html>
Ответить с цитированием
  #18 (permalink)  
Старый 02.12.2016, 13:02
Новичок на форуме
Отправить личное сообщение для Warycooper Посмотреть профиль Найти все сообщения от Warycooper
 
Регистрация: 30.11.2016
Сообщений: 8

Спасибо за помощь! А как записать, что бы цвет текста тоже менялся?
Ответить с цитированием
  #19 (permalink)  
Старый 02.12.2016, 14:07
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от Warycooper
А как записать, что бы цвет текста тоже менялся?
Ответ очевиден - аналогично!
Ответить с цитированием
  #20 (permalink)  
Старый 08.12.2016, 14:11
Аспирант
Отправить личное сообщение для WadimS Посмотреть профиль Найти все сообщения от WadimS
 
Регистрация: 12.11.2016
Сообщений: 80

Для работы с куками есть замечательный плагин jquey.cookie
В нем есть и полное удаление установленных кук

Описание и плагин: https://github.com/carhartl/jquery-cookie
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как удалить DIV если есть запись в cookie zahar_92 jQuery 3 13.05.2016 14:44
Запись в гугл-таблицу значения, полученного от пользователя (с веб-страницы) Galeks Общие вопросы Javascript 1 04.04.2016 16:49
Запись в гугл-таблицу значения, полученного от пользователя (с веб-страницы) Galeks Работа 0 04.04.2016 13:39
ImageCMS null запись значения Defo Серверные языки и технологии 0 15.03.2013 14:46
Запись массива в cookie KonstantinK Общие вопросы Javascript 4 19.03.2011 20:30