1

ボタンをクリックして Img コンポーネントの src プロパティを更新するときに、「Loading image...」マスクを表示する必要があります。

このコードはロード マスクを示しません。

certImg.setLoading('Loading image...');
certImg.setSrc('load_image.php?file_name=' + record.get('invoice_item_file'));
certImg.setLoading(false);

そして、このコードは表示しますが、ロード マスクを非表示にしません (更新された画像の上に表示されます)。

certImg.setLoading('Loading image...');
certImg.setSrc('load_image.php?file_name=' + record.get('invoice_item_file'));

画像サイズを 1 ~ 2 Mb まで大きくしようとしましたが、ロードに 3 ~ 4 秒かかりましたが、ロード マスクはまだ表示されません。同じ。

そして、「certImg.setLoading(false);」とコメントすると - img は更新されていますが、まだ img の上にロードマスクが表示されています...

4

2 に答える 2

0

コードを確認できますか?それは私のために働いています..ここの例を参照してください。

var isResized = false;
var changingImage = Ext.create('Ext.Img', {
    src: 'http://www.sencha.com/img/20110215-feat-html5.png',
    resizable:true,
    listeners: {
    render: function (me) {
        me.el.on({
            load: function (evt, ele, opts) {
                  me.setLoading('Loading Mask Tested');
            }
            });
        },
        resize:function(me) {
            alert("resized");
            if(isResized) {
                alert("second time");
             me.setSrc('http://www.sencha.com/img/20110215-feat-perf.png');   
            } else {
                isResized= true;         
            }

        },

      afterrender: function (me) {
        me.el.on({
            load: function (evt, ele, opts) {
                  alert("rendered");
                  me.setLoading(false);
            }
            });
        }
    }
    //height:200,
    //renderTo: Ext.getBody()
}).render(Ext.getBody());

</p>

于 2012-12-19T17:04:00.413 に答える
0

興味深いケース...コードにアラートを追加したところ、同じ結果が表示されました。

certImg.setLoading('Loading image...');
certImg.setSrc('load_image.php?file_name=' + record.get('invoice_item_file'));
alert('now it loading...');
certImg.setLoading(false);

ただし、コードで大きな画像 (3 ~ 4 Mb など) を使用している場合、画像の読み込み中にマスクの読み込みを実際に見ることはできません。ローディング マスクがローディング完了後に非常に迅速に表示されるため、アラートを使用して表示を一時停止しないと、表示されないようです。

私はあなたのやり方でコードを変更しようとしましたが、同じ結果になります - ロードマスクよりもアラートを削除すると表示されません...

Sencha はこの状況のサンプルを提供していません。このフレームワークに実装されていない可能性があります。

この現象を確認するには、アラートを使用せずに大きな画像をダウンロードして実験する必要があります。

于 2012-12-20T07:28:34.413 に答える