我在一个简单的.aspx页面上有一个标准的asp.net文件上传控件和一个标准的asp.net按钮。单击按钮时,我会上传文件。我想展示一个简单的“上传...”gif动画。
首先,我通过向按钮的OnClientClick添加一个简单的JavaScript函数来实现它,就像这样......
<asp:Button runat="server" ID="btn_Upload" OnClienClick="return ShowMyUploadingDiv();" OnClick="btn_Upload_Click" />
我的javascript代码,看起来像这样:
function ShowMyUploadingDiv() {
$('#uploadingDiv').show();
return true;
}
由于我的JavaScript函数返回true,因此我的uploadDiv(其中包含动画.gif)显示,然后执行PostBack。金色。
问题?好吧,IE有一个小问题,所有.gifs在PostBack上停止动画。大。在研究这个问题时,我发现你可以使用setTimeout函数更新.gif的源代码,但意识到还有另一个问题。向前...
所以,我采用了不同的路线,并使用jQuery为图形设置动画。现在一切都很完美。 uploadDiv弹出,我的文件在jQuery动画例程播放时上传。
下一个问题?现在,弹出打开div并播放动画的JavaScript在Chrome中不会一直运行!
TL; DR 在PostBack之后Chrome似乎没有继续运行JavaScript。