【发布时间】:2010-12-13 18:18:39
【问题描述】:
我有一个问题,我似乎无法找到解决办法。
问题是,我通过 ajax 调用加载图像和一些文本,然后一段时间后我尝试再次调用 ajax 函数以获取新的图像和文本集。但是我的问题是图像没有及时加载(文本加载一切正常)它们有点停止加载,然后下一次调用 ajax。
有没有办法解决这个问题?
我非常感谢某人的帮助。
编辑:似乎 setTimeout("", 30000);在 Firefox 和 IE 上以不同的速度工作。有没有办法将它设置为一分钟,我试图将其设置为 60000,但在调用 ajax 之前的时间流逝方面得到了相同的结果......
这是我的代码:
HTML
<asp:Panel ID="portfolio" runat="server" style="border:solid 1px black; height:300px; width:400px; display:none;">
<div id="div_before">
<img id="img_before" alt="" height="200" width="100" />
<span id="txt_before"></span>
</div>
<div id="div_after">
<img id="img_after" alt="" height="200" width="100" />
<span id="txt_after"></span>
</div>
</asp:Panel>
还有我的javascript:
function getPortfolio() {
$.ajax({
type: "POST",
url: "Portfolio.aspx/GetImages",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
onCallBack(msg);
}
});
}
function onCallBack(msg) {
var result = msg.d;
if (result != null) {
var portfolio_div = $("div[id*='portfolio']");
$(portfolio_div).css({ 'display': 'block' });
var imgs = $(portfolio_div).find("img");
$("#img_before").attr({ src: "images/" + result.img_before.toString() });
$("#img_after").attr({ src: "images/" + result.img_after.toString() });
var txts = $(portfolio_div).find("span");
$(txts[0]).text(result.txt_before);
$(txts[1]).text(result.txt_after);
setTimeout("", 30000);
getPortfolio();
}
else {
$(portfolio_div).css({ 'display': 'none' });
}
}
【问题讨论】:
标签: asp.net javascript asp.net-ajax jquery