JQuery UI тема для холста - PullRequest
0 голосов
/ 30 июня 2011

Я использую canvas в веб-приложении, созданном с помощью jquery ui.Я добавил виджет ролика темы и хочу, чтобы элементы холста могли быть тематическими.Итак, проблема, с которой я сталкиваюсь, заключается в том, как мне программно получить доступ к свойствам класса css, чтобы использовать их при рисовании объектов canvas?

Вот что я пробовал:

var color = $("<div></div>").addClass("ui-state-default").css("background-color");  

1 Ответ

1 голос
/ 30 июня 2011

Понял. Элемент необходимо добавить в 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

...