2011-10-02 73 views
0

如何确保在进一步操作之前在浏览器上显示图像?确保图像在浏览器上显示

我想加载一些图像的特定顺序,因为我想确保图像总是作为背景。我写下面的代码:

// load the view 
final IView bgView = new StaticImgView(Constants.BG_CLASS, "Background", bgPath); 
this.dPanel.add(bgView); 
bgView.addErrorHandler(new ErrorHandler() { 

    @Override 
    public void onError(ErrorEvent event) { 

     GWT.log("No Background-View."); 
     loadLogoView(); 

    } 

}); 
bgView.addLoadHandler(new LoadHandler() { 

    @Override 
    public void onLoad(LoadEvent event) { 

     GWT.log("Background-View loaded."); 
     GWT.log("> " + TicketViewer.this.dPanel.getWidgetCount()); 
     loadLogoView(); 

    } 

}); 

但'标志'图像不显示在背景上..(?)。

  • bgView extends Image。

  • loadLogoView包含类似的代码来加载其他图像。

  • 请注意,背景图像是800x600,而其他所有图像都是较小的104x100。

回答

0

添加LoadHandler到图像(Image.addLoadHandler(LoadHandler))。

+0

这也是我的方法,但由于某种原因,它不起作用!当第一个图像加载到AbsolutePanel中时,我得到它的WidgetIndex = 1,然后在loadLogoView,我得到了徽标WidgetIndex = 2,但徽标没有出现! –

0

这取决于什么构成进一步的行动。一般情况下,如果您使用的是JQuery,您可以这样做:

$('#imageId').load(function() { //Do Something }) 

imageId对应于您的img标记中的id。

<img src="test.jpg" id="imageId" />