Отключить серый фон loadMask в Sencha Touch - PullRequest
3 голосов
/ 01 июля 2011

У меня есть loadMask.Это устанавливает серый фон и поверх этого изображения загрузки с надписью Загрузка.Из документации :

// Basic mask:
var myMask = new Ext.LoadMask(Ext.getBody(), {msg:"Please wait..."});
myMask.show();

Проблема в том, что мне нужен только маленький квадрат с загрузочным изображением и надписью "loading ...", мне нужно избавиться от серогоbackground.

Этот серый фон получает рассвет в .x-mask x-mask-grey div.Я попытался установить CSS этого div для различных значений ширины и высоты, но я не могу заставить его работать.

вот HTML:

<div class="x-mask x-mask-gray" id="ext-gen1099" style="width: 1124px; height: 575px; ">
    <div class="x-mask-loading">
    <div class="x-loading-spinner">
        <span class="x-loading-top"></span>
        <span class="x-loading-right"></span>
        <span class="x-loading-bottom"></span>
        <span class="x-loading-left"></span>
    </div>
    <div class="x-loading-msg">Loading...</div>
    </div>
</div>

Если вы видите, ширинаустановлен на 1124px и высоту на 575px, мне нужно, чтобы он исчез, сделал его 0px или удалил всю x-mask-grey, но без удаления дочерних узлов.И, надеюсь, просмотрите ярлык «Загрузка ...» по центру.

Надеюсь, вы мне поможете, любые предложения будут с благодарностью приняты.

1 Ответ

4 голосов
/ 06 июля 2011

Ваш лучший вариант - переопределить эти стили, но просто сделать фон прозрачным, а не пытаться полностью удалить DIV.

Если добавить следующий CSS, фон маски останется прозрачным.

.x-mask, .x-mask.x-mask-gray
{
    background-color: transparent;
}

В качестве альтернативы, вы можете переопределить метод onBeforeLoad в Ext.LoadMask и передать значение true в качестве последнего параметра метода mask () (который является «прозрачным»), который удалит маску -Серый класс от маскирующего DIV, как показано ниже:

var myMask = new Ext.LoadMask(Ext.getBody(), {
    msg: "Please wait...",
    onBeforeLoad: function(){
            if (!this.disabled) {
                this.el.mask(Ext.LoadingSpinner + '<div class="x-loading-msg">' + this.msg + '</div>', this.msgCls, false);
                this.fireEvent('show', this, this.el, this.store);
            }
        }
    });
    myMask.show();

К сожалению, вам все еще понадобится переопределение CSS для класса .x-mask с этим решением, потому что оно по-прежнему добавляет 30% непрозрачности фона.

Надеюсь, это поможет

Stuart

...