Jquery и CSS переключение - это возможно? - PullRequest
0 голосов
/ 28 марта 2010

Я создаю CSS-файл, используя PHP, который позволяет мне легко настроить цвет многих элементов. Могу ли я "перестроить" таблицу стилей и применить ее к странице в DOM с помощью Jquery?

например.

<?php
if (isset($_POST['mycolor'])){
$myColor = $_POST['mycolor'];
} else {
$myColor = "blue";
}
?>

<style type='text/css'>
    .style1{
    color:<?php $myColor;?>;
    }
</style>

Теперь на моей странице у меня есть ссылка, которую вы можете щелкнуть, которая называется "изменить цвет на красный", и когда вы нажмете "красный", он сделает $ .post для моего php-скрипта, который перестраивает CSS, включая .style1 - и позволяет страница для изменения таблицы стилей.

Я не проверял это, но будет ли это работать? Если я выведу новую таблицу стилей после публикации в dom ... будет ли она применима к странице?

Ответы [ 4 ]

1 голос
/ 28 марта 2010

Вы можете сделать что-то подобное, если вся ваша таблица стилей генерируется php:

function newCSS(params){
  $("link[href*=myStyles.php]:last").after('<link href="myStyles.php?'+ params +'" type="text/css" rel="Stylesheet" />');
  $("link[href*=myStyles.php]:first").remove();
}

Это заменяет ссылку в голове новой ... новые стили вступят в силу после загрузки.

0 голосов
/ 28 марта 2010

Не знаю, слышали ли вы когда-нибудь о МЕНЬШЕ . Это хороший маленький инструмент, который позволяет вам иметь «переменные» в вашем CSS. Который, кажется, то, что вы действительно хотите.

Взгляните на Это сообщение в блоге , которое должно вам помочь.

0 голосов
/ 28 марта 2010

Я рекомендую вам создать свой динамический CSS как php-файл. Больше информации здесь: http://www.barelyfitz.com/projects/csscolor/

EDIT: Вот улучшенное решение с использованием селектора, предоставленного Ником:

$("link[href*=myStyles.php]").attr('href','myStyles.php');
0 голосов
/ 28 марта 2010

Вы можете использовать функцию css для установки различных свойств css для элементов:

$('.style1').css('color', 'red');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...