如何在Meteor 0.8中加载图像时显示加载动画
我刚刚将Meteor应用升级到0.8版,出现了一个小小的用户体验困难 我有一个可更改的图像,如下所示:如何在Meteor 0.8中加载图像时显示加载动画,meteor,Meteor,我刚刚将Meteor应用升级到0.8版,出现了一个小小的用户体验困难 我有一个可更改的图像,如下所示: <img src="/img/{{ image_name }}" class="pull-left"> 用户可以选择一个新图像(更改image\u name,它是集合中的一个字段),并且图像会在屏幕上自动更改 然而,在我的测试中,新图像加载时的行为似乎有所不同。在Meteor0.7中,新图像加载时图像变为空白。在Meteor0.8中,旧图像会一直显示在屏幕上,直到加载新图像。
<img src="/img/{{ image_name }}" class="pull-left">
用户可以选择一个新图像(更改image\u name
,它是集合中的一个字段),并且图像会在屏幕上自动更改
然而,在我的测试中,新图像加载时的行为似乎有所不同。在Meteor0.7中,新图像加载时图像变为空白。在Meteor0.8中,旧图像会一直显示在屏幕上,直到加载新图像。我可以理解为什么这通常会是一个更好的结果,但在我的情况下,用户会疑惑为什么图像没有改变,可能会持续几秒钟
因此,我想在加载新图像时显示加载动画。我可以在选择新图像时启动动画,但如何知道图像何时完成加载,以便删除动画
还是我误解了正在发生的事情
谢谢 您需要以某种方式使用image
load
event。一个可能的解决方案是有两个图像,一个呈现给用户,第二个隐藏在一个隐藏的分区中。隐藏的一个有一个反应源,就像你现在看到的一样。可见的一个是静态的
当用户选择新图像时:
- 将可见图像源设置为微调器(通过jQuery)
- 更新模型,以便反应映像开始加载
在隐藏图像的
load
回调中,将可见图像的源切换到实际的新源。有关如何设置此类回调的注意事项,请参阅。您需要以某种方式使用imageload
事件。一个可能的解决方案是有两个图像,一个呈现给用户,第二个隐藏在一个隐藏的分区中。隐藏的一个有一个反应源,就像你现在看到的一样。可见的一个是静态的
当用户选择新图像时:
- 将可见图像源设置为微调器(通过jQuery)
- 更新模型,以便反应映像开始加载
在隐藏图像的
load
回调中,将可见图像的源切换到实际的新源。有关如何设置此类回调的注意事项,请参阅。您需要以某种方式使用imageload
事件。一个可能的解决方案是有两个图像,一个呈现给用户,第二个隐藏在一个隐藏的分区中。隐藏的一个有一个反应源,就像你现在看到的一样。可见的一个是静态的
当用户选择新图像时:
- 将可见图像源设置为微调器(通过jQuery)
- 更新模型,以便反应映像开始加载
在隐藏图像的
load
回调中,将可见图像的源切换到实际的新源。有关如何设置此类回调的注意事项,请参阅。您需要以某种方式使用imageload
事件。一个可能的解决方案是有两个图像,一个呈现给用户,第二个隐藏在一个隐藏的分区中。隐藏的一个有一个反应源,就像你现在看到的一样。可见的一个是静态的
当用户选择新图像时:
- 将可见图像源设置为微调器(通过jQuery)
- 更新模型,以便反应映像开始加载
在隐藏图像的
load
回调中,将可见图像的源切换到实际的新源。有关如何设置此类回调的注意事项,请参阅。按照@Hubert OG的建议,我解决了它,如下所示
在我的模板中:
<div class="img-space">
<div class="img-loading"></div>
{{ triggerImageLoad }}
</div>
最后,24x24像素微调器和200x200像素图像的css为:
.img-loading {
position: absolute;
top:88px;
left:88px;
width: 24px;
height: 24px;
background-image: url('/img/site/img-loader.gif');
}
希望这能帮助其他人。按照@Hubert OG的建议,我解决了这个问题,如下所示 在我的模板中:
<div class="img-space">
<div class="img-loading"></div>
{{ triggerImageLoad }}
</div>
最后,24x24像素微调器和200x200像素图像的css为:
.img-loading {
position: absolute;
top:88px;
left:88px;
width: 24px;
height: 24px;
background-image: url('/img/site/img-loader.gif');
}
希望这能帮助其他人。按照@Hubert OG的建议,我解决了这个问题,如下所示 在我的模板中:
<div class="img-space">
<div class="img-loading"></div>
{{ triggerImageLoad }}
</div>
最后,24x24像素微调器和200x200像素图像的css为:
.img-loading {
position: absolute;
top:88px;
left:88px;
width: 24px;
height: 24px;
background-image: url('/img/site/img-loader.gif');
}
希望这能帮助其他人。按照@Hubert OG的建议,我解决了这个问题,如下所示 在我的模板中:
<div class="img-space">
<div class="img-loading"></div>
{{ triggerImageLoad }}
</div>
最后,24x24像素微调器和200x200像素图像的css为:
.img-loading {
position: absolute;
top:88px;
left:88px;
width: 24px;
height: 24px;
background-image: url('/img/site/img-loader.gif');
}
希望这能帮助别人。这听起来正是我需要的。我不知道图像加载事件。谢谢这听起来正是我需要的。我不知道图像加载事件。谢谢这听起来正是我需要的。我不知道图像加载事件。谢谢这听起来正是我需要的。我不知道图像加载事件。谢谢