52 lines
1003 B
JavaScript
52 lines
1003 B
JavaScript
_('toStr each filter');
|
|
|
|
var styleList = [],
|
|
scale = 1;
|
|
|
|
function exports(css)
|
|
{
|
|
css = toStr(css);
|
|
|
|
for (var i = 0, len = styleList.length; i < len; i++)
|
|
{
|
|
if (styleList[i].css === css) return;
|
|
}
|
|
|
|
let container = exports.container || document.head,
|
|
el = document.createElement('style');
|
|
|
|
el.type = 'text/css';
|
|
container.appendChild(el);
|
|
|
|
let style = {css, el, container};
|
|
resetStyle(style);
|
|
styleList.push(style);
|
|
|
|
return style;
|
|
}
|
|
|
|
exports.setScale = function (s)
|
|
{
|
|
scale = s;
|
|
each(styleList, style => resetStyle(style));
|
|
};
|
|
|
|
exports.clear = function ()
|
|
{
|
|
each(styleList, ({container, el}) => container.removeChild(el));
|
|
styleList = [];
|
|
};
|
|
|
|
exports.remove = function (style)
|
|
{
|
|
console.log(style);
|
|
styleList = filter(styleList, s => s !== style);
|
|
|
|
style.container.removeChild(style.el);
|
|
};
|
|
|
|
function resetStyle({css, el})
|
|
{
|
|
el.innerText = css.replace(/(\d+)px/g, ($0, $1) => (+$1 * scale) + 'px');
|
|
}
|