Как переключить таблицу стилей CSS с помощью jQuery?
Я работаю просто.
Вы нажимаете кнопку (id="themes")
и открываете div (id="themedrop")
, который слайд вниз и перечисляет темы. (На данный момент у меня только два)
<button id="original">Original</button><br />
<button id="grayscale">Grayscale</button>
Теперь, когда сайт загружен, он загружается с помощью style1.css(основная/оригинальная тема)
<link rel="stylesheet" type="text/css" href="style1.css">
Теперь то, что я пытаюсь выяснить, это...
Как это сделать, когда нажата кнопка оттенков серого, чтобы изменить таблицу стилей от style1.css до style2.css(обратите внимание: файлы находятся в одном каталоге)
Любая помощь будет высоко оценена.
Ответы
Ответ 1
$('#grayscale').click(function (){
$('link[href="style1.css"]').attr('href','style2.css');
});
$('#original').click(function (){
$('link[href="style2.css"]').attr('href','style1.css');
});
Дайте это попробовать, но не уверен, что он будет работать. Я не тестировал его, но gd luck.
Ответ 2
Я бы предложил вам указать link
-tag id, например тему. Поместите имя файла css в атрибут data
на кнопках и используйте для них один и тот же обработчик:
Html:
<link id="theme" rel="stylesheet" href="style1.css">
<button id="grayscale" data-theme="style2.css">Gray Theme</button>
И js:
$("button[data-theme]").click(function() {
$("head link#theme").attr("href", $(this).data("theme"));
}
Ответ 3
быстрый способ сделать это,
<link id="original" rel="stylesheet" type="text/css" href="style1.css">
<script>
function turnGrey(){
document.getElementById("original").href="grey.css";<!-- what ever your new css file is called-->
}
</script>
<button id="grey" onclick="turnGrey">Turn Grey</button><br />
Ответ 4
Используйте это:
<link href="Custom.css" rel="stylesheet" />
<link href="Blue.css" rel="stylesheet" />
<link href="Red.css" rel="stylesheet" />
<link href="Yellow.css" rel="stylesheet" />
<select id="changeCss"`enter code here`>
<option onclick="selectCss(this)" value="Blue">Blue</option>
<option onclick="selectCss(this)" value="Red">Red</option>
<option onclick="selectCss(this)" value="Yellow">Yellow</option>
</select>
<script type="text/javacript">
function selectCss() {
var link = $("link[rel=stylesheet]")[0].href;
var css = link.substring(link.lastIndexOf('/') + 1, link.length)
$('link[href="' + css + '"]').attr('href', $('#changeCss').val() + '.css');
}
</script>