JQuery UI тема для холста
Я использую холст в веб-приложении, построенном с помощью jquery ui. Я добавил виджет тематического ролика и хочу, чтобы элементы холста были тематическими. Итак, проблема, с которой я сталкиваюсь, заключается в том, как программно получить доступ к свойствам класса CSS, которые будут использоваться при рисовании объектов Canvas?
вот что я попробовал:
var color = $("<div></div>").addClass("ui-state-default").css("background-color");
1 ответ
Решение
Понял. Элемент необходимо добавить в DOM.
function getClassProperty(clazz,prop,type){
type = (type || false) ? type : "div";
var dummy = $("<"+type+" style='display=none;'></"+type+">").addClass(clazz).appendTo("body");
var value = dummy.css(prop);
dummy.remove();
if(value.indexOf("rgb") != -1){
var digits = /(.*?)rgba?\((\d+),\s?(\d+),\s?(\d+)[\),]/.exec(value);
return "#" + (parseInt(digits[4])|(parseInt(digits[3])<<8)|(parseInt(digits[2])<<16)).toString(16);
}else{
return value;
}
}
console.log(getClassproperty("ui-state-default","background-color"));
Код rgb2hex взят из: http://haacked.com/archive/2009/12/29/convert-rgb-to-hex.aspx