我需要通过点击按钮在Img组件的更新src属性期间显示“正在加载图像...”掩码。
此代码未显示加载掩码:
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)放到aftermder Img事件中,结果是一样的。
当评论“certImg.setLoading(false);”时 - img已更新,但仍然会在img ...
上显示loadmask答案 0 :(得分:0)
你能查一下你的代码吗?它对我有用..参见示例here。
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());
答案 1 :(得分: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),则在加载图像时,您真的看不到加载蒙版。看起来,因为加载掩码显示AFTER加载后很快完成,如果我们不使用警报暂停显示 - 我们看不到它。
我只是尝试以你的方式更改我的代码,但采取相同的结果 - 如果删除警告而不是加载掩码dod不显示...
Sencha没有为这种情况提供任何样本,可能没有在这个框架中实现。
您必须尝试尝试下载大图像,而不使用警报来查看此现象。