Javascript-форум (https://javascript.ru/forum/)
-   ExtJS (https://javascript.ru/forum/extjs/)
-   -   ExtJS работа с иконками (https://javascript.ru/forum/extjs/22738-extjs-rabota-s-ikonkami.html)

greynemo 31.10.2011 17:06

ExtJS работа с иконками
 
Здравствуйте! Работаю над проектом, который использует ExtJS и XSLT. Имею такую ​​проблему: есть кнопки, на которые накладываю иконку через css (так как описано в документации ExtJS). ExtJS все кнокпы делает по умолчанию высотой 16px. Может кто подсказать, как сделать, чтобы размер кнопки автоматически делался такой как размер иконки?
Сначала думал сделать из простой java-скрипт
var img = new Image ();
img.onload = function () {
alert (this.width + 'x' + this.height);
}
но не знаю, как вставить в код.
Может кто подсказать как лучше сделать?

Black_Prince 31.10.2011 17:13

это самое простое, что пришло в голову - прописать свои стили для кнопки через цсс:
.ext_button_class{
height: 100px !important;
width: 100px !important;
}

greynemo 31.10.2011 18:31

Цитата:

Сообщение от greynemo (Сообщение 133744)
Может кто подсказать, как сделать, чтобы размер кнопки автоматически делался такой как размер иконки?

Не понимаю вашего ответа. Мне нужно авматично размер кнопки до размера иконки.

Black_Prince 01.11.2011 11:13

у Вас размер иконки постоянен, или по каким то событиям подставляются иконки других размеров на кнопки? т.е. кнопки должны менять свой размер динамически?

greynemo 01.11.2011 13:27

Цитата:

Сообщение от Black_Prince (Сообщение 133927)
т.е. кнопки должны менять свой размер динамически?

Да. Возможно я не полностью объяснил ситуацию. Иконки берутся из базы данных в виде base64, и подставляются в css на кнопки. Размеры тех иконок разные (есть и 16px есть и большие). ExtJS ставит все кнопки размером 16px. Мне нужно, чтобы размеры кнопок автоматически принимались такие как размеры иконок. Можете что-то порекомендовать?

Black_Prince 01.11.2011 14:40

Попробуйте как то так.
var img = new Image ();
img.onload = function () {
    alert (this.width + 'x' + this.height);
    Ext.query('.button_ext_class').setStyle({'width' : this.width+'px', 'height' : this.height+'px'});
}


Часовой пояс GMT +3, время: 21:46.