0
Я кусаю в jQuery, но я знаю, что мне нужно, и это работает, но это супер повторяющийся и станет довольно раздражающим, если вам нужно больше, чем пару файлов cookie и таблиц стилей.Style Sheet Switcher с Cookie сделать jQuery менее повторяющимся
Вопрос: как сделать это менее повторы, так что может быть использовано множество стилей:
// USING: https://github.com/carhartl/jquery-cookie
$(document).ready(function() {
$("#red").click(function() {
$.cookie("red", 1);
$.removeCookie("blue");
var fileref = document.createElement("link");
fileref.setAttribute("rel", "stylesheet");
fileref.setAttribute("type", "text/css");
fileref.setAttribute("href", "assets/css/red.css");
document.getElementsByTagName("head")[0].appendChild(fileref);
$('.logo-svg').attr('src', 'assets/images/logo-red/logo.svg');
return false;
});
$("#blue").click(function() {
$.removeCookie("red");
$.cookie("blue", 1);
var fileref = document.createElement("link");
fileref.setAttribute("rel", "stylesheet");
fileref.setAttribute("type", "text/css");
fileref.setAttribute("href", "assets/css/blue.css");
document.getElementsByTagName("head")[0].appendChild(fileref);
$('.logo-svg').attr('src', 'assets/images/logo-blue/logo.svg');
return false;
});
});
$(window).load(function() {
if ($.cookie('red')) {
$('.logo-svg').attr('src', 'assets/images/logo-red/logo.svg');
var fileref = document.createElement("link");
fileref.setAttribute("rel", "stylesheet");
fileref.setAttribute("type", "text/css");
fileref.setAttribute("href", "assets/css/red.css");
document.getElementsByTagName("head")[0].appendChild(fileref);
}
if ($.cookie('blue')) {
$('.logo-svg').attr('src', 'assets/images/logo-blue/logo.svg');
var fileref = document.createElement("link");
fileref.setAttribute("rel", "stylesheet");
fileref.setAttribute("type", "text/css");
fileref.setAttribute("href", "assets/css/blue.css");
document.getElementsByTagName("head")[0].appendChild(fileref);
}
});
HTML
<ul class="styleswitch">
<li><a id="red" href="#">Red</a></li>
<li><a id="blue" href="#">Blue</a></li>
</ul>
Я бы проголосовал за это несколько раз, если бы мог! Спасибо, что выбрали этот камень. – Christina