У меня есть три сценария, с помощью которых пользователь может изменять CSS на странице, выбирая файл .css
:
<script>
function setStyle(css) {
document.querySelector('link#style').href = css;
}
</script>
Изменяет размер шрифта:
<script>
$(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);
}
</script>
Расширяет содержимоестраница:
<script type="text/javascript">
window.onload = function() {
document.getElementById('WideButton').onclick = function()
{
if(document.body.className != 'wide_class')
{
document.body.className = 'wide_class';
}
else
{
document.body.className = '';
}
}
}
</script>
Управление осуществляется с помощью элементов ссылки:
<a href="#" class="fontSizePlus">A+</a> | <a href="#" class="fontSizeMinus">A-</a>
<a id="WideButton" name="WideButton">Wide mode</a>
<a onclick="setStyle('sitecom/wp-content/themes/theme1/style1.css')" href="#">style1</a>
<a onclick="setStyle('sitecom/wp-content/themes/theme1/style2.css')" href="#">style2</a>
<a onclick="setStyle('sitecom/wp-content/themes/theme1/style3.css')" href="#">style3</a>
<a onclick="setStyle('sitecom/wp-content/themes/theme/style4.css')" href="#">style4</a>
Сам стиль задается в:
<link id="style" href="sitecom/wp-content/themes/theme1/style1.css" rel="stylesheet">
На странице все этиизменения работают нормально.Но если вы перейдете по ссылке или обновите страницу, все сбивается с пути.Как внести изменения в сайт пользователем, сохраненным в куки или в локальном хранилище?Итак, что после перезагрузки CSS свойства страницы не сбиваются?