- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
/* Задача такова: пользователь может по своему вкусу настраивать дизайн приложения (шрифт, фон и т.д.)
* При этом,
* 1. настройки должны применяться мгновенно,
* 2. сохраняться после перезагрузки
*/
// Было сделано так:
// Клиент собирает информацию со всех крутилочек, и генерирует JSON-репрезентацию CSS в подобном формате:
css_data = [
{selector : 'body', css : {'color' : 'rgb(255, 179, 0)','background' : '#4D3339 url(../images/bg134.png) repeat scroll 0 0'}},
{selector : '#omv table', css : {'box-shadow' : 'rgba(0, 0, 0, 0.4) 0px 0px 9px 2px'}},
{selector : '.well,.info', css : {'background-color' : 'rgba(66, 31, 105, 0.46)'}}
];
// Таким нехитрым образом применяется на страницу:
$.css = function ( query, propertyObject )
{
var elements = document.querySelectorAll(query);
for (var i = 0; i < elements.length; i++)
for (var property in propertyObject){
elements[i].style[property] = propertyObject[property];
}
}
css_data.map(function(data){
$.css(data.selector, data.css)
});
// И сразу же отправляется на сервер (в БД).
// Тут начинается самый сок - генерация CSS на PHP, который будет выведен на страницу в следующий раз:
function JSON2CSS($data){
$json = json_decode($data, true);
$result = "<style type=\"text/css\">";
foreach($json as &$rule){
$result .= $rule['selector'].'{';
$props = array_keys($rule['css']);
foreach($props as $property)
$result .= $property . ':' . $rule['css'][$property] . ';';
$result .= '}';
}
$result .= "</style>";
return $result;
}
guest 29.10.2016 16:41 # +1
function json2css($json) {
$result = NULL;
foreach (json_decode($json, true) as $rule) {
$result .= $rule["selector"] . "{";
foreach ($rule["css"] as $property => $value) {
$result .= $property . ":" . $value . ";";
}
$result .= "}";
}
return "<style type=\"text/css\">" . $result . "</style>";
}
gost 29.10.2016 22:11 # +4
Сильное название. Хочу функции JPEG2MP3, GIF2DOC и CPP2PHP!
bormand 30.10.2016 08:25 # +3
1024-- 30.10.2016 09:17 # +6
А то гуглишь решение какой-то проблемы, а находится видео, где кто-то в реальном времени пишет reg add ololo\CLSID\{jjfkdhskhiuewfuierhewir9-332343kjhkh23-aasdsasff8}\OloloTrololo 100500, жмёт ентер и радуется, что и у него всё работает, и что теперь все знают, как набить в реальном времени {ddfsaff223434-safsf23-sdfdfdf2215-jkksrb}.
gost 30.10.2016 15:29 # +4
Блять, плюсую неимоверно. Бесят такие долбоёбы.
inkanus-gray 30.10.2016 16:00 # +4
bormand 30.10.2016 16:04 # +4
Steve_Brown 31.10.2016 11:34 # +3
inkanus-gray 31.10.2016 16:01 # +4
dxd 30.10.2016 14:33 # +1
inkanus-gray 30.10.2016 15:59 # 0
CHayT 31.10.2016 11:46 # +1
Steve_Brown 31.10.2016 16:38 # +1
Берешь, закачиваешь книжку... и оказываешься в Средиземье. А не это вот все.
kurwa-nextgen 31.10.2016 17:28 # +4
CHayT 31.10.2016 17:35 # +3
bormand 31.10.2016 18:41 # +1
____________________ 29.10.2016 23:11 # −2
barop 31.10.2016 05:06 # −62
nihau 31.10.2016 18:40 # 0
А у нас css в бд.
bormand 31.10.2016 18:41 # 0
nihau 31.10.2016 18:44 # 0